【问题标题】:Extending Django's User model扩展 Django 用户模型
【发布时间】:2013-12-06 18:20:40
【问题描述】:

我一直在处理 Django 的身份验证系统,我只是不明白为什么我必须通过这个过程Django doc! :

from django.contrib.auth.models import User

class Employee(models.Model):
    user = models.OneToOneField(User)
    department = models.CharField(max_length=100)

... 而不是像这样简单地扩展“用户”类:

class Employee(User):
     ....

... 并重新使用其中包含的所有代码。我看过类似的文章:b-list.org! ,并且我知道问题可能与自动 Django 数据库管理有关。

有没有一种方法可以自动扩展 User 模型而无需在数据库中创建额外的表,以便 Django 为我修改当前数据库表?

【问题讨论】:

    标签: python django django-models django-registration


    【解决方案1】:

    我倾向于服从 django 的家伙

    https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#extending-the-existing-user-model

    因为只有抽象模型不会在 django 中创建表,而内置用户模型不是

    【讨论】:

    • 这个问题正是基于那个例子。问题是我想知道以这种方式处理这个问题的真正原因。
    • 原因是内置的用户类不是抽象模型。抽象模型应在其元类中明确声明
    猜你喜欢
    • 2016-10-12
    • 2011-02-28
    • 2018-01-21
    • 2018-04-24
    • 2017-03-02
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多