如何在Django中为User表创建外键?

时间:2010-02-11 13:06:38

标签: django django-models

我正在创建一个名为Tickets的新模型,我希望确保始终为其分配有效的用户ID。

我正在使用AUTH_PROFILE_MODULE来设置配置文件,当我尝试运行syndb时,该配置文件也会出现错误 NameError:name'User'未定义

如何设置外键以确保始终如此?

## 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 个答案:

答案 0 :(得分:21)

所以问题是我错过了对我模特的导入。

from django.contrib.auth.models import User

答案 1 :(得分:3)

为了供将来参考,根据Django documentation,建议像这样参考用户模型:

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,
    )