Как создать внешний ключ для таблицы User в Django? - PullRequest
8 голосов
/ 11 февраля 2010

Я создаю новую модель под названием Tickets, и я хочу, чтобы ей всегда был присвоен действительный идентификатор пользователя.

Я использую AUTH_PROFILE_MODULE для настройки профиля, который также выдает ошибку NameError: имя 'Пользователь' не определено при попытке запустить syndb.

Как настроить внешний ключ, чтобы убедиться, что это всегда так?

## tickets/models.py

class Ticket(models.Model):
    user = models.ForeignKey(User,)
    # More model stuff.



# accounts/models.py   

class UserProfile(models.Model):
     user = models.ForeignKey(User, unique=True)

Ответы [ 2 ]

21 голосов
/ 11 февраля 2010

, поэтому проблема была в том, что мне не хватало импорта на моих моделях.

from django.contrib.auth.models import User
3 голосов
/ 18 сентября 2018

Для дальнейшего использования, согласно документации Django , рекомендуется ссылаться на модель User следующим образом:

from django.conf import settings
from django.db import models


class Article(models.Model):
    author = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...