Added unique together for role name and org
This commit is contained in:
parent
8bd9a3d803
commit
3dd147e1af
2 changed files with 4 additions and 2 deletions
|
|
@ -81,7 +81,7 @@ class Migration(migrations.Migration):
|
||||||
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, verbose_name='UUID')),
|
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, verbose_name='UUID')),
|
||||||
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
||||||
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')),
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')),
|
||||||
('name', models.CharField(max_length=100, unique=True, verbose_name='Name')),
|
('name', models.CharField(max_length=100, verbose_name='Name')),
|
||||||
('description', models.TextField(blank=True, default='', verbose_name='Description')),
|
('description', models.TextField(blank=True, default='', verbose_name='Description')),
|
||||||
('members', models.ManyToManyField(related_name='roles', to=settings.AUTH_USER_MODEL)),
|
('members', models.ManyToManyField(related_name='roles', to=settings.AUTH_USER_MODEL)),
|
||||||
('organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='roles', to='accounts.organization')),
|
('organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='roles', to='accounts.organization')),
|
||||||
|
|
@ -89,6 +89,7 @@ class Migration(migrations.Migration):
|
||||||
options={
|
options={
|
||||||
'verbose_name': 'Role',
|
'verbose_name': 'Role',
|
||||||
'verbose_name_plural': 'Roles',
|
'verbose_name_plural': 'Roles',
|
||||||
|
'unique_together': {('organization', 'name')},
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ class Invite(IdentifierMixin, TimeStampMixin, Model):
|
||||||
|
|
||||||
class Role(IdentifierMixin, TimeStampMixin, Model):
|
class Role(IdentifierMixin, TimeStampMixin, Model):
|
||||||
|
|
||||||
name = CharField(verbose_name = _("Name"), max_length = 100, unique = True)
|
name = CharField(verbose_name = _("Name"), max_length = 100)
|
||||||
description = TextField(verbose_name = _("Description"), blank = True, default = '')
|
description = TextField(verbose_name = _("Description"), blank = True, default = '')
|
||||||
organization = ForeignKey(Organization, on_delete = CASCADE, related_name = "roles")
|
organization = ForeignKey(Organization, on_delete = CASCADE, related_name = "roles")
|
||||||
members = ManyToManyField(User, related_name = "roles")
|
members = ManyToManyField(User, related_name = "roles")
|
||||||
|
|
@ -103,6 +103,7 @@ class Role(IdentifierMixin, TimeStampMixin, Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Role')
|
verbose_name = _('Role')
|
||||||
verbose_name_plural = _('Roles')
|
verbose_name_plural = _('Roles')
|
||||||
|
unique_together = [('organization', 'name')]
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f"{self.name} ({self.organization.name})"
|
return f"{self.name} ({self.organization.name})"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue