【问题标题】:How can I remove existing fields in the default User DB in Django?如何在 Django 中删除默认用户数据库中的现有字段?
【发布时间】:2018-05-23 18:22:04
【问题描述】:

我创建了 AbstractUser 和一些我希望用户类拥有的字段。但是在成功创建新的用户模型之后,用户表现在具有以前的列(在迁移默认用户模型时添加的列),并且还有我在自定义用户模型中添加的列。

有没有办法删除默认添加的列?

这是我的models.py

class CustomUser(AbstractUser):
    ''' SOME UNIQUE FIELDS '''
    class Meta:
        swappable = 'AUTH_USER_MODEL'
        db_table = 'users'

这些是即使没有在模型中指定也会出现的字段。我怎样才能摆脱它们?

【问题讨论】:

    标签: python mysql django database


    【解决方案1】:

    当您扩展模型AbstractUser 时,它具有该类https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#extending-django-s-default-user 的所有字段。

    如果你想要一个完整的自定义用户,你应该扩展AbstractBaseUser.https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#specifying-a-custom-user-model

    【讨论】:

    • 感谢您的回答。所以现在,除了 2 列(密码、last_login)之外,大多数额外的列都已经消失了。我不需要密码,因为我只使用社交登录。有什么办法可以去掉这两列?
    猜你喜欢
    • 1970-01-01
    • 2018-11-09
    • 2018-07-17
    • 2017-04-13
    • 2018-12-26
    • 2017-01-22
    • 1970-01-01
    • 2017-09-13
    • 2018-09-07
    相关资源
    最近更新 更多