1

所以我成功地从配置文件模型迁移到扩展用户模型。数据迁移一切正常,但我无法从管理员访问我的用户,我收到以下错误:

DatabaseError: (1146, "Table 'mydb.app_myuser_groups' doesn't exist")

我所定义models.py的内容如下:

class MyUser(AbstractUser):
    isSpecial = models.BooleanField(default=True)

遵循这些说明。我还需要做更多的事情来让它工作吗?

4

2 回答 2

1

在此处查看我之前的答案并将步骤 4 修改为如下所示:

# encoding: utf-8
from south.db import db
from south.v2 import SchemaMigration

class Migration(SchemaMigration):

    def forwards(self, orm):
        # Fill in the destination name with the table name of your model
        db.rename_table('auth_user', 'accounts_user')
        db.rename_table('auth_user_groups', 'accounts_user_groups')

    def backwards(self, orm):
        db.rename_table('accounts_user', 'auth_user')
        db.rename_table('accounts_user_groups', 'auth_user_groups')

    models = { ....... } # Leave this alone
于 2013-05-01T23:53:22.973 回答
0

AbstractUser继承自PermissionMixin,它有一个ManyToManyFieldtoGroup模型。所以数据库中应该有一个app_myuser_groups表。South 可能能够创建中间表,但我不知道如何。我所知道的是,syncdb删除后的 ingapp_myuser应该可以工作,即使您的迁移会被粉碎。

这个关于在迁移中添加直通表的问题应该会给你更多的洞察力。

于 2013-04-30T22:12:52.117 回答