Django1.5不会覆盖auth_users

时间:2013-07-14 10:57:11

标签: python database django django-1.5

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

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

settings.py

AUTH_PROFILE_MODULE = "myaccount.MyUser"

models.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而不是创建新表?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我没有尝试也不建议的一种hackish方式是在模型中指定表名:

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

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

Migrating existing auth.User data to new Django 1.5 custom user model?

答案 2 :(得分:-1)

我认为你必须

import first django.contrib.auth.models 
import AbstractUser 
在您之前的models.py中

以获得使用AbstractUser进行扩展的方法。它应该与那个

一起使用