Идентификация существующих пользователей
При проведении миграции Django модифицирует базу данных, чтобы в ней хранилась связь между каждой темой и пользователем. Для выполнения миграции Django необходимо знать, с каким пользователем должна быть связана каждая существующая тема. Проще всего связать все существующие темы с одним пользователем, например суперпользователем. Но для этого сначала необходимо узнать идентификатор этого пользователя.
Просмотрим идентификаторы всех пользователей, созданных до настоящего момента. Запустите сеанс оболочки Django и введите следующие команды:
(venv)learning_log$ python manage.py shell
(1) >>> from django.contrib.auth.models import User
(2)>>> User.objects.all()
[<User: ll_admin>, <User: eric>, <User: willie>]
(3)>>> for user in User.objects.all():
... . . print(user.username, user.id)
...
ll_admin 1
eric 2
willie 3
>>>
В точке (1) в сеанс оболочки импортируется модель User. После этого просматриваются все пользователи, созданные до настоящего момента (2). В выходных данных перечислены три пользователя: ll_admin, eric и willie.
В точке (3) перебирается список пользователей, и для каждого пользователя выводится его имя и идентификатор. Когда Django спросит, с каким пользователем связать существующие темы, мы используем один из этих идентификаторов.