0

我想要一张更大的auth_user桌子,包括 2-3 个额外的字段。

问题是下面的代码正在创建一个新的,与带有额外字段的 auth_user 完全相同,但它没有替换它。

设置.py

AUTH_PROFILE_MODULE = "myaccount.MyUser"

模型.py

from django.contrib.auth.models import AbstractUser

    class MyUser(AbstractUser):
    gender = models.DateField()
    location = models.CharField(max_length=30)
    birthday = models.CharField(max_length=30)

而不是创建一个名为myaccount_MyUser. 如何替换当前auth_user而不是创建新表?

4

3 回答 3

1

我相信这个可以帮助你:

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#extending-user

于 2013-07-14T13:00:51.807 回答
0

我没有尝试也不推荐的一种骇人听闻的方法是在模型中指定表名:

class MyUser(AbstractUser):
    class Meta:
        db_table = auth_user

我建议使用新表并使用南数据迁移从旧表迁移数据。以下是有关如何执行此操作的详细答案:

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

于 2013-07-14T13:28:18.493 回答
-1

我认为你必须

import first django.contrib.auth.models 
import AbstractUser 

在你的 models.py 之前获得一种扩展方式AbstractUser。它应该与它一起工作

于 2013-07-14T11:50:54.763 回答