问题标签 [djongo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
256 浏览

django - 如何在 djongo 模型中添加 ListField?

我想使用 djongo 模型在我的模型中添加一个 ListField。尝试从管理站点更新字段时,使用 Djongo 的 ListField 会引发错误。

0 投票
0 回答
269 浏览

python - 考虑到数据库的灵活结构和查询,如何在 Django 中使用 mongodb?

我正在开发一个使用 mongodb 的 Django 应用程序。我的数据库架构正在发生变化(某些字段被不断删除/添加),那么如何以一种在不更改旧数据且不影响搜索查询的情况下接受更改的方式将其与 Django 集成?

我搜索了可用的库,发现以下内容:

  • mongoenginedjango-mongodb-engine:mongoengine 暂时不支持并且没有更新,django-mongodb-engine 也需要一个分叉的旧 django-nonrel 包。这与问题相匹配:在 django 中直接使用 pymongo
  • djongo:最初它可以在 python 和 Django 的最新版本中正常工作,并且它可以接受我的数据库模型中的更改而无需迁移,并且 Django 管理面板工作正常。后来,在应用了一些更改后,我在查询数据库或在管理面板中列出数据时遇到了问题。如果更改包括已删除的字段,则旧数据无法适应新模型。
  • pymongo:缺点是我不能使用 django 模型或面板,我必须构建自己的数据库抽象层,但优点是我将对数据库拥有更高的控制权。就像直接在 django 中使用 pymongo 中的第一个解决方案一样,然后我可以为我将拥有的不同数据库结构构建一些层

使用 djongo

假设我有一个名为 Test 的模型:

模型.py

我创建了一个新对象,如下所示:

然后,我删除了y字段并添加了一个名为z的新字段,然后我创建了一个新对象,因此创建如下:

现在,我想提取所有收集数据,如下所示:

我可以理解它不能映射到新的更改模型,但我希望至少没有错误地忽略旧字段,就像直接在 mongodb 中的查询一样。

根据我的要求,使用djongo的方法是错误的吗?或者有什么办法可以解决这个问题吗?如果不是,如何使用 pymongo 正确应用它?我希望随时通过添加或删除来更改我的集合字段,并随时提取所有数据而不会出错。

0 投票
0 回答
772 浏览

django - 使用 Djongo 的 Django 中的 Mongodb 错误:pymongo.errors.OperationFailure:过滤器中不支持的类型

我正在尝试将 Django 项目连接到 MongoDB 集群,并且在运行时:

或者

它一直显示相同的错误:

我的 setting.py 配置是:

我的python环境如下:

我已经尝试过这个建议将 pymongo 降级到 3.5.1 版本的帖子解决方案,该版本已经尝试过但没有奏效。事实上,该项目以前在 pymongo==3.7 版本(我目前在环境中拥有的那个)中工作。

我已经将这个 Django 项目配置为连接到本地服务器并且它可以工作,显然主机名有些不合适。集群配置没有问题(我认为),因为我有一个直接连接到同一个集群的 Jupyter Notebook。

真的不知道我的项目突然停止连接到我的MongoDB集群是怎么回事。任何人都可以帮助我找到解决这个问题的方法吗?

谢谢社区。

0 投票
1 回答
1519 浏览

django - 如何在 django models.py 中使用 ListField,同时在 settings.py 中使用 DJONGO 作为引擎

我的 json 数据看起来像这样

对于这些数据,我在 models.py 中为 Roll Nos 和 Student Names 定义了 ListFields,但是当我使用管理面板在我的数据库中添加数据时,我遇到了错误:

“异常值:无法从 Django Admin 修改无格式字段。”

设置.py

模型.py

请帮我解决这个错误。提前致谢

我正在使用 django 2.2 和 djongo 作为引擎

0 投票
2 回答
112 浏览

python - 如何修复这些错误?

我有一个 sqlite3 数据库 django 应用程序。我试图使用 djongo 切换到 MongoDB Atlas。但我不知道如何解决这些错误

我安装了 djongo

那是我在 settings.py 中唯一改变的东西

我不断收到这些错误。我不知道如何解决它们

0 投票
2 回答
238 浏览

django - Django 无法将模型加载到视图中

我正在尝试将我的模型导入views.py,但我无法这样做。但是,我可以在管理站点上注册它们,但是当我使用在 admin.py 中使用的相同代码将模型导入 views.py 时,出现错误。我正在使用 djongo,所以我不确定这是否会改变有关如何导入它们的任何内容,而且我似乎找不到它的文档。

模型.py

管理员.py

视图.py

当我尝试运行 views.py 文件时,出现以下错误: ModuleNotFoundError: No module named ' main .models'; ' main ' 不是一个包

我的视图、管理员和模型文件也都在同一个目录中。我已经进行了迁移,我可以在 MongoDB 中看到我的 Round 模型。我唯一不能做的就是将其导入视图

0 投票
0 回答
215 浏览

django - 使用 Djongo 添加多个 ArrayModelField 项的实例

djongo用来添加mongodb到我的应用程序。我有一个模型,比如说ModelA,它接受ArrayModelField另一个模型的一个ModelB,这是一个抽象模型。我得到一个ModelFormModelA,但它只显示一个 ModelB 的输入字段。如何获得添加按钮之类的功能,以便可以添加更多 ModelB 字段?

我搜索了很多,发现了这个:https ://github.com/nesdis/djongo/issues/210 但我仍然无法让它工作。我已阅读有关表单集和动态表单集的信息,并相信 djongo 在其自己的代码中添加了 jquery 动态表单集。所以在创建一个类时:

我无法决定如何做到这一点。我可以为自维护模板执行此操作,但我不想更改默认管理员或自定义它。

0 投票
1 回答
182 浏览

python - 为什么即使我的模型没有用户作为主键,我也会收到 userId 重复键错误?

我有一个继承自预定义 django 用户模型的交互模型,但我将 messageId 作为主键。

模型.py:

我有一个名为 data 的字典,它存储所需的信息。在views.py

因此,在运行代码时,有相同用户的消息,但消息 ID 明显不同

用户不是我的主键,但我不断收到错误 djongo.sql2mongo.SQLDecodeError: FAILED SQL: UPDATE "mainapp_interaction" SET "user_id" = %(0)s, "reciever" = %(1)s, "sender" = %(2)s, "date" = %(3)s, "subject" = %(4)s, "label" = %(5)s WHERE "mainapp_interaction"."messageId" = %(6)s Pymongo error: {'index': 0, 'code': 11000, 'errmsg': 'E11000 duplicate key error collection: 5d02255b9ccf640b8c608ee1_mysitev6.mainapp_interaction index: user_id_1 dup key: { : 16 }'}

0 投票
1 回答
40 浏览

python - 不同的嵌入文档

我目前正在尝试将我的新 Django rest API 连接到我已经存在的 mongodb 数据库。目前我正在尝试将我的数据库对象的结构复制为模型。我遇到了问题,我在我的数据库中设置了这样的结构:

DE 和 US 的属性在这里可以是任何东西(任何地理)。有什么办法可以在我的 djongo 模型中加入这种模式?

0 投票
1 回答
334 浏览

django - 使用 EmbeddedModelField 创建 ModelForm 并在 EmbeddedModelField 中自定义字段

我有一个具有 EmbeddedModelField (embedmodel) 的模型 (parentmodel)。这基本上是 MongoDB 中的文档。下面是模型类

这就是我在 mongodb 中的文档的样子

我正在尝试创建一个表单来帮助我创建新规则,这就是我在 forms.py 中的内容,我也想自定义表单字段。

如何自定义从 embedmodel 中显示的字段?我尝试了以下但没有运气。