2016-08-03 2 views
0

Я новичок в django. Я хочу сделать ForeignKey в таблице auth_user.Django, как ForeignKey (auth_user)?

Я пытаюсь сделать это: user = models.ForeignKey(auth_user) Это вызывает ошибку: NameError: name 'auth_user' is not defined Так, может кто-нибудь сказать мне, как импортировать auth_user.

ответ

5

Поскольку внешние ключи принимают строки, вы можете использовать настройку AUTH_USER_MODEL в вашем внешнем ключе.

from django.conf import settings 

class MyModel(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 

Это работает ли вы с помощью встроенного в User модели или пользовательской модели.

0

Предположительно вы говорите о django.contrib.auth.models.User затем сделать

from django.contrib.auth.models import User 

class MyModel(models.model): 

    user = models.ForeignKey(User) 

Если говорить о пользовательской модели пользователя, которая приходит из других стран, заменить импорт с импортом уместном для этого класс.

+1

Вы должны всегда использовать settings.AUTH_USER_MODEL как @Alasdair. Он поддерживает расширение кода и правильность обработки миграции. – Chad

Смежные вопросы