我想创建一个新模型,例如:
user_name = models.ForeignKey(u"Username", User),
但是当我尝试同步数据库时,出现以下错误消息:
“ AttributeError:'unicode'对象没有属性'_meta'”
当我看一些教程时,一切似乎都与我的模型相同,并且从未提及“ _meta”的问题。
最佳答案
一种更安全的方法是使用设置文件中的AUTH_USER_MODEL
。
例:
from django.db import models
from django.conf import settings
class Article(models.Model):
headline = models.CharField(max_length=255)
article = models.TextField()
author = models.ForeignKey(settings.AUTH_USER_MODEL)
默认情况下,
settings.AUTH_USER_MODEL
指的是django.contrib.auth.models.User
,而不需要您执行任何操作。这种方法的优点是,即使您使用未经修改的自定义用户模型,您的应用程序仍将继续运行。
有关如何使用自定义用户模型的更多信息,请参见check out this part of the Django docs
关于django - Django-用户模型外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309588/