Django Can';迁移后无法访问管理员中的用户

Django Can';迁移后无法访问管理员中的用户,django,django-admin,django-1.5,Django,Django Admin,Django 1.5,因此,我成功地从概要文件模型迁移到扩展用户模型。数据迁移工作正常,但我无法从管理员访问我的用户,我遇到以下错误: DatabaseError: (1146, "Table 'mydb.app_myuser_groups' doesn't exist") 我在models.py中定义的所有内容如下: class MyUser(AbstractUser): isSpecial = models.BooleanField(default=True) 跟随的。我还需要做更多的工作来实现这一点

因此,我成功地从概要文件模型迁移到扩展用户模型。数据迁移工作正常,但我无法从管理员访问我的用户,我遇到以下错误:

DatabaseError: (1146, "Table 'mydb.app_myuser_groups' doesn't exist")
我在
models.py
中定义的所有内容如下:

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

跟随的。我还需要做更多的工作来实现这一点吗?

AbstractUser
继承自
PermissionMixin
,它有一个
ManyToManyField
模型。因此,数据库中应该有一个
app\u myuser\u groups
表。South可能能够创建中间表,但我不知道如何创建。我所知道的是,删除
app\u myuser
后的
syncdb
应该可以工作,即使您的迁移会被分解


关于的这个问题应该会让您有更多的了解。

AbstractUser
继承自
PermissionMixin
,它有一个
ManyToManyField
模型。因此,数据库中应该有一个
app\u myuser\u groups
表。South可能能够创建中间表,但我不知道如何创建。我所知道的是,删除
app\u myuser
后的
syncdb
应该可以工作,即使您的迁移会被分解

关于的这个问题应该会让您有更多的了解。

请参阅我前面的答案,并修改步骤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
请参阅我前面的答案,并修改步骤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

可能是一个愚蠢的问题,但:mydb数据库中是否存在app_myuser_组?@Steve Well否,但我想知道为什么管理员认为应该存在。可能是一个愚蠢的问题,但:mydb数据库中是否存在app_myuser_组?@Steve Well否,但是我想知道为什么管理员会这么认为。在通过
rename\u table
完成迁移之后,我可以对其他
auth
表使用这种方法吗?我很惊讶其他地方还没有涉及到这一点……不幸的是,我对南方移民仍然感到不自在。我只有一个站点在生产中(在我对DRY和South不太了解的时候制作),我的其他站点经常被DB重置。我查看了
migrate\u table
,我不明白为什么您不能将它用于其他表,甚至是中间表。另一件可能太困难的事情是更改
字段并添加一个指向现有中间表的
db_table
参数。通过
rename_table
完成迁移后,我是否可以对其他
auth
表使用这种方法?我很惊讶其他地方还没有涉及到这一点……不幸的是,我对南方移民仍然感到不自在。我只有一个站点在生产中(在我对DRY和South不太了解的时候制作),我的其他站点经常被DB重置。我查看了
migrate\u table
,我不明白为什么您不能将它用于其他表,甚至是中间表。另一件可能过于困难的事情是更改
groups
字段并添加一个指向现有中间表的
db_table
参数。