python - InvalidBasesError : Cannot resolve bases for [<ModelState: 'users.GroupProxy' >]

标签 python django unit-testing django-models django-migrations

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

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)

我为 contrib.auth Group 模型创建了这个代理,以将其放置在我的 django admin 应用中:

class GroupProxy(Group):
    class Meta:
        proxy = True
        verbose_name = Group._meta.verbose_name
        verbose_name_plural = Group._meta.verbose_name_plural

那么我该怎么做才能解决这个问题呢?

最佳答案

只需在应用的根目录下创建一个 migrations 目录(在您的情况下为 users/migrations/)并添加一个空的 __init__.py 文件可能会解决您的问题。至少当我遇到同样的错误时它对我有用。

但您最好按照建议为您的应用运行 makemigrations 上面的@zenofewords。这将为您创建目录并为您的代理模型生成迁移。

Why does Django create migration files for proxy models?

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

关于python - InvalidBasesError : Cannot resolve bases for [<ModelState: 'users.GroupProxy' >],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30267237/

相关文章:

android - 单元测试 CoroutineExceptionHandler

javascript - 将 ajax 响应传递给 django 模板

python - 为什么 get_absolute_url() 定义在 models.py 中?

python - 从 __getattr__ 方法检索的模拟函数

asp.net - 单元测试通用处理程序

python - 使用 django 将 python 集存储在数据库中

php - PHP 和 Python 之间使用 XML-RPC 进行通信

python - 如何重新激活django用户

python - matplotlib - 通过 **kwargs 传递行参数时出错

python - 如何使用Python在多个CPU核心上运行外部程序?