gpt4 book ai didi

python - 为什么第一次在 Django 中将对象保存到 MongoDB 时会出现 InvalidDocument 异常?

转载 作者:行者123 更新时间:2023-12-01 06:01:33 24 4
gpt4 key购买 nike

在尝试让 MongoDB 与 Django 一起工作时,我经历了一场噩梦。我现在已成功安装它,但在第一次尝试保存对象时出现错误。我一直在关注this tutorial ,他们提出的 Post 模型我已经精确复制了。

这是模型的代码:

from django.db import models
from djangotoolbox.fields import ListField

class Post(models.Model):
title = models.CharField(max_length=200)
text = models.TextField()
tags = ListField()
comments = ListField()

该帖子实际上是在此处创建(并插入)的:

post = Post.objects.create(
... title='Hello MongoDB!',
... text='Just wanted to drop a note from Django. Cya!',
... tags=['mongodb', 'django'],
... comments=['comment 1', 'comment 2']
... )

完整的堆栈跟踪 can be found here 。错误本身是:

InvalidDocument: documents must have only string keys, key was <django.db.models.fields.CharField object at 0x22cae50>

显然 MongoDB 正在运行,因为它希望键是字符串而不是整数。但为什么朗姆酒不见了呢?呃,为什么标准 Django 对象无法保存到 MongoDB 数据库中?

我添加了被忽略的必需 CharField 参数 max_length。在这种情况下它不起作用,如果我也删除列表也不起作用。

最佳答案

在将 django-mongodb-engine 库更新到 github 存储库的“develop”分支中的当前版本之前,我遇到了此错误。只需使用所示文章中的说明即可导入 master 分支。

关于python - 为什么第一次在 Django 中将对象保存到 MongoDB 时会出现 InvalidDocument 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com