Django 使用数组字段在 makemigrations 上引发应用程序未加载错误

Posted

技术标签:

【中文标题】Django 使用数组字段在 makemigrations 上引发应用程序未加载错误【英文标题】:Djongo Using ArrayField throws Apps No Loaded Error on makemigrations 【发布时间】:2020-07-29 10:02:58 【问题描述】:

我正在尝试使用使用 ArrayField 的 djongo 创建一个 django 模型


class SubModel(models.Model):
    i = models.IntegerField()

    class Meta:
        abstract = True

class BiggerModel(models.Model):

    subarr = models.ArrayField(model_container=SubModel)

当我运行 makemigrations 时,我得到了错误

AppRegistryNotReady("模型尚未加载。")

仅当我使用 ArrayField 时才会发生这种情况。不与任何其他字段

我正在使用django 2.1.5djongo 1.3.2

【问题讨论】:

【参考方案1】:

这是 Djongo 1.3.2 上的一个错误。您可以将其降级到 1.3.1 或等待新版本(直到今天,4 月 23 日,有一个 PR 合并,但不是新版本)

【讨论】:

您使用的是什么版本的 Django 和 pymongo(以及 Djongo 1.3.1)?

以上是关于Django 使用数组字段在 makemigrations 上引发应用程序未加载错误的主要内容,如果未能解决你的问题,请参考以下文章

Djongo 没有使用 Django-rest-framework 正确获取对象数组嵌入字段

可以使用 django mysql 模型数组字段

如何使用 SQL 的“IN”等字段上的数组过滤 django 查询集?

如何使用 SQL 的“IN”等字段上的数组过滤 django 查询集?

Django 1.8 数组字段追加和扩展

如何在 Django ORM 中映射 PostgreSQL 数组字段