我使用User
模型使用一对一的关系扩展了标准Profile
:
class Profile(models.Model):
user = models.OneToOneField(User, primary_key=True, editable=False)
# Additional user information fields
这是在名为account_custom
的应用中。问题是在管理网站中,我希望此模型与“身份验证和授权”下的User
一起显示。
通过设置Meta.app_label
,我能够在管理员的正确位置显示:
class Profile(models.Model):
class Meta:
app_label = 'auth'
db_table = 'account_custom_profile'
我设置Meta.db_table
所以这使用现有的数据库表,一切似乎都正常运行。
问题是Django希望为此生成迁移,一个在account_custom
中删除表,另一个在auth
中再次创建它。我猜这会根据迁移的顺序失败或消除数据,但更深层次的问题是它试图在auth
中创建一个不属于我的代码库的迁移。
有没有解决方法,还是有更好的方法来控制管理网站中ModelAdmin
的显示位置?