首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >InvalidBasesError:无法解析[<模型状态:'users.GroupProxy'>]的基

InvalidBasesError:无法解析[<模型状态:'users.GroupProxy'>]的基
EN

Stack Overflow用户
提问于 2015-05-16 03:21:11
回答 13查看 16.9K关注 0票数 30

当我运行测试时,我在数据库初始化期间得到以下错误:

代码语言:javascript
复制
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管理应用程序中:

代码语言:javascript
复制
class GroupProxy(Group):
    class Meta:
        proxy = True
        verbose_name = Group._meta.verbose_name
        verbose_name_plural = Group._meta.verbose_name_plural

那么我能做些什么来解决这个问题呢?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2015-07-31 04:22:38

在深入研究这个问题之后,唯一对我有用的是

comment out the offending apps, run migrations, then add them in again.

这只是一种变通方法,但希望它能帮助某些人。

票数 30
EN

Stack Overflow用户

发布于 2017-01-12 01:21:03

只需在应用程序的根目录(在您的示例中为users/migrations/ )创建一个migrations目录并添加一个空的__init__.py文件,就可以解决您的问题。当我遇到同样的错误时,至少对我来说是这样的。

但你最好在你的应用程序上运行makemigrations,正如上面的@zenofewords所建议的那样。这将为您创建目录并为您的代理模型生成迁移。

Why does Django create migration files for proxy models?

您的测试正在寻找这些迁移,但没有找到它们。

票数 22
EN

Stack Overflow用户

发布于 2016-05-20 21:39:28

我遇到过这个问题,由于注释掉模型并不是一个真正的解决方案,我发现将未记录的auto_created = True设置为Meta类会使Django忽略它。

代码语言:javascript
复制
class GroupProxy(Group):

    class Meta:
        proxy = True
        auto_created = True
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30267237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档