我要创造新的模式,是这样的:Django的 - 外键的用户模型
user_name = models.ForeignKey(u"Username", User),
,但是当我尝试执行syncdb,我收到此错误信息:
"AttributeError: 'unicode' object has no attribute '_meta'"
当我看在一些教程中,一切似乎都与我的模型一样,并且从未提及“_meta”的问题。
我要创造新的模式,是这样的:Django的 - 外键的用户模型
user_name = models.ForeignKey(u"Username", User),
,但是当我尝试执行syncdb,我收到此错误信息:
"AttributeError: 'unicode' object has no attribute '_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
是否可以限制外键?那么如果我只想让外键与一组用户相关呢? –
我终于找到了。这是我愚蠢的错误。我有另一个模型:class Meta:verbose_name = smart_encode(u“something)。对不起,我感谢你们两位! – Meph