我目前正在尝试使用带有CosmosDB数据库的djongo作为CosmosDB集成MongoDB应用程序接口。
我启用了‘聚合管道’和'3.4线路协议‘,因为Djongo需要MongoDB 3.4才能工作。
使用这种设置,我无法通过初始的django迁移。我在使用本地MongoDB实例时没有任何问题。
下面是运行python manage.py migrate时的djongo输出
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_migrations,但是django_migrations是空的。
我以前没有使用no-sql的经验,所以可能我误解了什么。
我不知道是否有人已经尝试在CosmosDB数据库中使用Djongo,但如果有任何帮助,我将不胜感激:)
发布于 2020-06-15 18:43:53
您似乎正在使用"embeddedmodelfields",请尝试使用"djongo.models“中的models.ForeignKey。创建新数据库并运行迁移。
https://stackoverflow.com/questions/51632903
复制相似问题