Коды ошибок «nameerror 'пользователь' не определен 'я пытаюсь заполнить базу данных

1. Коды ошибок «NameError 'User' не определены.

import random
from datetime import datetime
from auction.models import Auction, Bid
from django.contrib.auth import get_user_model
User = get_user_model()


def populate_db():
   entries = 50
   for i in range(1, entries+1):
      username = 'user_%d' % i
      password = username
      email = '%s@yaas.com' % username
      print ("Creating new user username=%s, email=%s, password=%s" % (username, email, password))

      new_user = User.objects.create_user(username=username, email=email, password=password)
      year = random.randint(1975, 2025)
      month = random.randint(1, 12)
      day = random.randint(1, 28)
      .....     
      .....
      .....
 populate_db()

Есть предложения? Я использую django 2.0.4. Есть ли способ проверить, была ли импортирована модель аутентификации пользователя? Если да, что делать, если он был импортирован неправильно?

1
0
21
1

Ответы 1

Вы можете напрямую использовать User.objects.create() как

User.objects.create(username=username, email=email, password=password)

вместо записи create_user()

Чтобы проверить, правильно ли отображается get_user_model, вы можете выполнить следующие действия:

Открытая оболочка управления

python manage.py shell

Выполните следующие команды:

from django.contrib.auth import get_user_model
User = get_user_model()

Теперь вы можете проверить, можете ли вы взаимодействовать с моделью, выполняя такие запросы, как get, filter, create и т. Д.

Спасибо! Теперь я могу взаимодействовать с моделью! Но после попытки использования create_user() ничего не изменилось .. так что все равно не работает
Masa 11.04.2018 14:03

если вы используете базу данных по умолчанию, вам не нужно использовать using

Gahan 11.04.2018 14:05

Теперь я могу взаимодействовать с моделью! Но после попытки create_user() ничего не изменилось .. так что все равно не работает

Masa 11.04.2018 14:14

Вы используете встроенную пользовательскую модель или переопределили ее?

Gahan 11.04.2018 14:15

Я использую встроенную модель пользователя

Masa 11.04.2018 14:18

используйте метод create вместо использования create_user, однако вы можете импортировать модель пользователя напрямую как from django.contrib.auth.models import User, таким образом вам даже не нужно вызывать get_user_model

Gahan 11.04.2018 14:21

Другие вопросы по теме