【问题标题】:Django1.5 Custom Users tableDjango1.5 自定义用户表
【发布时间】:2013-07-12 01:25:46
【问题描述】:

我正在尝试按照此处的说明使用 Django 1.5 创建自定义 auth_users 表: https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#auth-custom-user

但即使我已经设置了它应该包含的新列,下面的代码似乎也不起作用。
即使删除了完整的数据库和python manage.py syncdb,它仍然会创建相同的默认表

我已经阅读了几份文件,这就是我现在所拥有的:

models.py

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

    class User(AbstractBaseUser):    
        identifier = models.EmailField(max_length=254)
        first_name = models.CharField(max_length=254)
        last_name  = models.CharField(max_length=254)

        USERNAME_FIELD = 'identifier'
        REQUIRED_FIELDS = ['first_name','last_name']

这个models.py安装在settings.py

settings.py

AUTH_PROFILE_MODEL = 'myaccount.User'

这不会对表产生任何影响,但会创建一个名为 myaccount_user 的新表

这有什么问题?为了修改auth_user 表而不是创建一个新表,我应该更改什么?

【问题讨论】:

  • 你能粘贴完整的模型吗?还有你有myaccountINSTALLED_APPS
  • @VictorCastilloTorres 在models.py 中添加了缺失的导入。是的,我在 INSTALLED_APPS 中有“myaccount”
  • 我发现错误看我的回答

标签: python database django django-1.5


【解决方案1】:

错误是应该是AUTH_PROFILE_MODEL = 'myaccount.User' 而不是AUTH_PROFILE_MODULE = 'myaccount.User'

您还忘记了模型中的一堆方法和USERNAME_FIELD

请参阅 a full example 了解如何构建自己的 CUSTOM USER

【讨论】:

  • 使用代码直到 EDIT 我没有收到任何错误,但我仍然得到默认表。编辑冲突错误后的代码。
  • 嗯,有些错误可能是你还没有指定USERNAME_FIELD 和一堆方法。
  • 也不工作。但我刚刚注意到,它不是修改auth_user,而是创建一个新表myaccount_user
猜你喜欢
  • 2013-10-15
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 2015-05-07
  • 1970-01-01
相关资源
最近更新 更多