9 class User(AbstractUser): |
9 class User(AbstractUser): |
10 class Meta: |
10 class Meta: |
11 verbose_name = _('User') |
11 verbose_name = _('User') |
12 verbose_name_plural = _('Users') |
12 verbose_name_plural = _('Users') |
13 |
13 |
|
14 |
14 class UserProfile(models.Model): |
15 class UserProfile(models.Model): |
15 user = models.OneToOneField(User, on_delete=models.CASCADE) |
16 user = models.OneToOneField(User, on_delete=models.CASCADE) |
|
17 |
16 class Meta: |
18 class Meta: |
17 verbose_name = _('UserProfile') |
19 verbose_name = _('UserProfile') |
18 verbose_name_plural = _('UserProfiles') |
20 verbose_name_plural = _('UserProfiles') |
19 |
21 |
20 |
22 |
21 class GroupProfile(models.Model): |
23 class GroupProfile(models.Model): |
22 group = models.OneToOneField(Group, unique=True, on_delete=models.CASCADE) |
24 group = models.OneToOneField( |
|
25 Group, unique=True, on_delete=models.CASCADE, related_name='profile') |
23 description = models.TextField(null=True, blank=True) |
26 description = models.TextField(null=True, blank=True) |
|
27 # TODO: manage when user is deleted: put first user as owner. delete group if empty |
|
28 owner = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) |
|
29 |
24 class Meta: |
30 class Meta: |
25 verbose_name = _('GroupProfile') |
31 verbose_name = _('GroupProfile') |
26 verbose_name_plural = _('GroupProfiles') |
32 verbose_name_plural = _('GroupProfiles') |
27 |
|