In that case, what about a simpler structure. Instead of role:

```python
admin = models.BooleanFielTeamd(default=False)
```

And for projects, as users will already be part of a project via the `Team`, we can have:

```python
class ProjectAdmin(models.Model):
    """
    Users that can administer a project, besides the Team Admins.
    """
    user = models.ForeignKey(User)
    project = models.ForeignKey(Project)
```