Django TestCase с Postgresql разбивает PrimaryKeys
Я настроил postgresql в моем django приложении, и после этого мои TestCases сломались. Он всегда выбрасывал ObjectDoesNotExists при любом тестовом методе после первого. Я решил проблему, и каждый раз, когда вызывается метод тестирования, все объекты, созданные в setUp, получают свои первичные ключи + 1. Возможно, вы не поняли, но посмотрите мой код:
class ProfileTestCase(TestCase):
def setUp(self):
user1 = User.objects.create(username="Unit1", email="testuser1@gmail.com", password="123456")
user1_profile = Profile.objects.create(user=user1, first_name='User1', last_name='User1')
def test_smth0(self):
print(Profile.objects.all())
print(Profile.objects.filter(first_name='User1')[0].id)
def test_smth1(self):
print(Profile.objects.all())
print(Profile.objects.filter(first_name='User1')[0].id)
def test_smth2(self):
print(Profile.objects.all())
print(Profile.objects.filter(first_name='User1')[0].id)
Вот консольный вывод для этого теста
Почему это происходит и как это исправить. Вот мои настройки подключения к базе данных postgresql в settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myapp_db',
'USER': 'admin',
'PASSWORD': 'MYPASSWORD',
'HOST': '127.0.0.1',
'PORT': ''
}