2

我目前正在尝试将djongoCosmosDB数据库一起使用,因为 CosmosDB 集成了 MongoDB API。

我启用了“聚合管道”和“3.4 有线协议”,因为 Djongo 需要 MongoDB 3.4 才能工作。

使用此设置,我无法通过初始 django 迁移。我对本地 MongoDB 实例没有任何问题。

这是运行时的 djongo 输出python manage.py migrate

djongo.sql2mongo.SQLDecodeError: FAILED SQL: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "app" char NOT NULL, "name" char NOT NULL, "applied" datetime NOT NULL)
Pymongo error: OrderedDict([('_t', 'OKMongoResponse'), ('ok', 0), ('code', 48), ('errmsg', "a collection 'iot_data.__schema__' already exists"), ('$err', "a collection 'iot_data.__schema__' already exists")])

我可以在 CosmosDB 的数据浏览器中看到已经创建了两个集合:但是是空的__schema__django_migrationsdjango_migrations

我以前没有使用 no-sql 的经验,所以也许我误解了一些东西。

我不知道是否有人已经尝试将 Djongo 与 CosmosDB 数据库一起使用,但我们将不胜感激:)

4

1 回答 1

0

似乎您正在使用“embeddedmodelfields”,请尝试使用“djongo.models”中的models.ForeignKey。创建新数据库并运行迁移。

于 2020-06-15T10:43:53.470 回答