Не работает тестовая установка и удаление базы данных Django (PostgreSQL) для групп пользователей
В настройках у меня есть:
new_group, created = Group.objects.get_or_create(name='Sales Manager')
SALES_MANAGER = 1
new_group, created = Group.objects.get_or_create(name='Team')
TEAM = 2
Существует пять таких групп. Затем я использую эти переменные следующим образом:
user.groups.add(TEAM)
В разрыве с:
Group.objects.get(name='Team').delete()
Первая сборка тестовой базы данных работает нормально, но вторая создает пустые наборы групп для всех моих пользователей.
Я пробовал не удалять группы при сносе, но это ничего не изменило.
Я обнаружил, что проблема заключается в том, что auth_group_id_seq не сбрасывается (и не должен сбрасываться), когда я удаляю группы.
Я рассматривал идею восстановления auth_group_id_seq в моем коде, но оказалось проще и, я полагаю, мудрее, настроить мое тестирование следующим образом:
new_group, created = Group.objects.get_or_create(name='Sales Manager')
SALES_MANAGER = new_group.id
new_group, created = Group.objects.get_or_create(name='Team')
TEAM = new_group.id
Теперь тестовым пользователям присваиваются правильные группы.