Django.db.utils.IntegrityError: дублирующее значение ключа нарушает уникальное ограничение "auth_group_name_key" DETAIL: Ключ (имя) уже существует
У меня есть модель Custome User, определенная в models.py
class User(AbstractUser):
is_verified = models.BooleanField(default=False)
phone_number = models.CharField(max_length=14, null=True)
role = models.CharField(max_length=30, choices=ROLE_TYPE, default=ROLE_TYPE[0][0])
district = models.ForeignKey(District, on_delete=models.CASCADE, null=True)
facility = models.ForeignKey(Facility, on_delete=models.CASCADE, null=True)
REQUIRED_FIELDS = ["email", "first_name"]
Я уже установил модель пользователя клиента в приложении. Теперь я пытаюсь создать несколько групп и назначить им некоторые разрешения на основе группы.
admin_user = Group(name='special_user')
admin_user.save()
user_ct = ContentType.objects.get(app_label='users', model=User)
can_create = Permission(name='Can create user', content_type=user_ct, codename='can_create_users')
can_create.save()
admin_user.permissions.add(can_create)
Но теперь я получаю следующую ошибку:-
Я пробовал использовать различные значения в поле имени в Group, но каждый раз выдается одна и та же ошибка. Я не знаю, где я делаю неправильно. Кто-нибудь, помогите мне найти решение.
Вы каждый раз пытаетесь создать новую группу с именем special_user, вы можете работать с .get_or_create(…) [Django-doc] для создания группы только если она еще не существует в базе данных:
admin_user, __ = Group.objects.get_or_create(name='special_user')