【问题标题】:Using Djongo (Mongo ORM) with CosmosDB?将 Djongo (Mongo ORM) 与 CosmosDB 一起使用?
【发布时间】:2019-01-09 00:03:33
【问题描述】:

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

我启用了“聚合管道”和“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 的经验,所以我可能误解了一些东西。

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

【问题讨论】:

  • 你能解决这个问题吗?我也面临同样的问题。
  • 你有没有偶然解决这个问题?

标签: django mongodb azure-cosmosdb djongo


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-01-01
    • 2019-05-25
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 2016-02-10
    • 2018-03-10
    相关资源
    最近更新 更多