django - Django-用户模型外键

标签 django foreign-keys user-registration

我想创建一个新模型,例如:

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/

相关文章:

python - 查找错误 : No installed app with label 'user'

jquery - 如果用户已注销,Ajax 调用 django @login_required View 将返回登录页面

python - Django remove 批量删除

mysql - 连接两个具有不同格式的主键和外键的表

MySQL 在 <ColumName> 上创建外键时出错(检查数据类型)

sql - PostgreSQL:用于获取将特定列作为外键的所有表的列表的 SQL 脚本

python - 使用表单访问 django 模板中的 m2m 字段值

Facebook 注册插件 : "invalid_id" when logging out

php - 使用 CakePHP Auth 组件的唯一用户名和电子邮件

php - 删除 WooCommerce 结账页面上的登录表单(和注册)