当我运行测试时,我在数据库初始化期间得到以下错误:
django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'users.GroupProxy'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
我为django组模型创建了这个代理,将它放在我的contrib.auth管理应用程序中:
class GroupProxy(Group):
class Meta:
proxy = True
verbose_name = Group._meta.verbose_name
verbose_name_plural = Group._meta.verbose_name_plural
那么我能做些什么来解决这个问题呢?
发布于 2015-07-31 04:22:38
在深入研究这个问题之后,唯一对我有用的是
comment out the offending apps, run migrations, then add them in again.
这只是一种变通方法,但希望它能帮助某些人。
发布于 2017-01-12 01:21:03
只需在应用程序的根目录(在您的示例中为users/migrations/
)创建一个migrations
目录并添加一个空的__init__.py
文件,就可以解决您的问题。当我遇到同样的错误时,至少对我来说是这样的。
但你最好在你的应用程序上运行makemigrations
,正如上面的@zenofewords所建议的那样。这将为您创建目录并为您的代理模型生成迁移。
Why does Django create migration files for proxy models?
您的测试正在寻找这些迁移,但没有找到它们。
发布于 2016-05-20 21:39:28
我遇到过这个问题,由于注释掉模型并不是一个真正的解决方案,我发现将未记录的auto_created = True
设置为Meta类会使Django忽略它。
class GroupProxy(Group):
class Meta:
proxy = True
auto_created = True
https://stackoverflow.com/questions/30267237
复制相似问题