【问题标题】:Switch to Django Custom User Model, Groups and Permissions切换到 Django 自定义用户模型、组和权限
【发布时间】:2013-07-23 15:23:57
【问题描述】:

我使用用户配置文件更新了我的 django 1.4 应用程序以使用 1.5 自定义用户模型。

#core/models.py

from django.contrib.auth.models import User, UserManager, BaseUserManager, AbstractUser

class MyUserManager(BaseUserManager):
    pass

class MyUser(AbstractUser):
    phone = models.CharField(blank = True, max_length = 18)
    completed_step = models.IntegerField(default = 0)
    objects = MyUserManager()

我为 south 编写了架构迁移,并且所有数据都已成功导入。

否则,我对 auth_group 和 auth_permision 有疑问。 Django 不能生成任何额外的表,但是当我想获得权限或组时,我有这个带有 JOIN 的 SQL 到额外的表:

 SELECT ...
      FROM "core_myuser"
      WHERE "core_myuser"."id" = 61 (8ms) Found 1 matching rows
 SELECT ...
      FROM "core_myuser"
      WHERE "core_myuser"."id" = 363 (1ms) Found 1 matching rows
 SELECT ...
      FROM "auth_group"
      INNER JOIN "core_myuser_groups" ON ("auth_group"."id" = "core_myuser_groups"."group_id")
      WHERE "core_myuser_groups"."myuser_id" = 363

内部服务器错误

http://cl.ly/image/0W1G3F2S3f3X

【问题讨论】:

    标签: python database django django-south django-1.5


    【解决方案1】:

    您尚未在数据库中创建适当的表。 在切换用户模型之前制作表格:

    python manage.py syncdb
    #or if you're use south
    python manage.py schemamigration core --initial
    python manage.py migrate core
    

    然后为您的用户数据编写自定义迁移脚本,否则您将丢失它。

    看看this manual 和这个documentation,它会帮助你理解应该做什么。

    【讨论】:

      猜你喜欢
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 2020-07-19
      • 1970-01-01
      • 2014-01-10
      • 2013-06-26
      • 2021-05-25
      • 2020-11-02
      相关资源
      最近更新 更多