Вставка Django в БД работает, но psql cli, похоже, не показывает этого - PullRequest
0 голосов
/ 01 ноября 2018

Я пишу тесты для веб-приложения Django. И в моем setupTestData методе класса я вручную создаю пользователя, как показано ниже

cls.user = get_user_model().objects.create_user(cls.username, email=cls.email, password=cls.password, first_name=cls.first_name, last_name=cls.last_name)

Вызов выше идет без сбоев. Но запись, кажется, вообще не существует в БД.

Как я могу подтвердить это в реальных методах тестирования, API не работает, потому что пользователь, кажется, не существует в БД.

Я однако пересек, проверил это. Используя

import pdb

# I use this after the .create_user() line to stop execution
# and use psql cli to inspect the test DB but i can't see the inserted row
pdb.set_trace()

Внутри pdb я использую следующее для отладки, если Django ORM сохранил запись.

(Pdb) display cls.user.pk
display cls.user.pk: 1

Значение вставки, которому был присвоен идентификатор 1.

Но выполнение select count(*) from Authorization_users в psql дает 0 строк.

Мне нужна помощь в дальнейшей отладке. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...