Django:将授权用户导入模型

标签 django django-models

在 Django 中我创建了一个新模型:

from django.db import models
from django.contrib.auth import user

class Workers(models.Model):
    user = models.OneToOneField(User, primary_key=True)
        work_group = models.CharField(max_length=20)
        card_num = models.IntegerField()
    def __unicode__(self):
            return self.user

但它不起作用:ImportError: cannot import name user

如何解决?

我想在数据库中创建一个新表“workers”,它与表“auth_user”具有OneToOne 关系。

最佳答案

from django.contrib.auth.models import User

您错过了模型 - 用户大写。

如果您使用自定义用户模型,您应该使用:

from django.contrib.auth import get_user_model
User = get_user_model()

更多详细信息可以在 docs 中找到.

Changed in Django 1.11:

The ability to call get_user_model() at import time was added.

关于Django:将授权用户导入模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921789/

相关文章:

python - Django Channels 2.0 channel_layers 不通信

django - 如何在 Django 应用程序的 CI 中处理迁移

django - 如何同时使用 safe 和 truncatechars 方法?

django - 当 m2m_changed 使用操作 "pre_clear"调用时如何访问 pk_set?

python - 将 django 项目迁移到新服务器,并且另一个 django 项目的 postgresql 数据库已存在

python - 带有使用管理器方法的自定义查询集的 Django Prefetch

Django - 管理中的外键字段初始值定义

python - 通过抽象模型的模型

python - Django 管理页面不显示用户模型

django - 如何让下拉选择从 Django 模型填充模板中的 DataTables 表?