InvalidDocument:无法对对象进行编码:< User:User object> ReferenceField与MongoEngine [英] InvalidDocument: Cannot encode object: <User: User object> ReferenceField with MongoEngine
问题描述
这就是我的模型看起来的样子(UserMixin,db.Document):
first_name = db.StringField(max_length = 255,
pre $必须= True)
last_name = db.StringField(max_length = 255,required = True)
email = db.StringField(max_length = 255)
$ b $ class Post(db.Document ):
description = db.StringField(max_length = 255,required = True)
inserted_at = db.DateTimeField(default = datetime.datetime.now,required = True)
tags = db。 ListField(db.EmbeddedDocumentField('Tag'))
comments = db.ListField(db.EmbeddedDocumentField('Comment'))
user = db.ReferenceField('User')
<
$ b $ p $这是我如何创建Post对象:
$ pre $ user = User.objects.filter(id = current_user.id).first()
post = Post(
description = request.json [description],
user = user
)
<我也试过:
pre $ user = current_user._get_current_object()
但是我不断收到:
InvalidDocument:无法编码object:< User:User object>
有什么想法?
Thanks!
我认为你正在使用的db模块存在一些问题。它真的是mongoengine模块吗?因为你的代码工作正常,所以如果我使用
$ $ p $ $ $ $ $ $ $导入mongoengine作为db
I've been working with Flask and MongoEngine, and I am having trouble when trying to save an object because of a ReferenceField.
This is what my model looks like:
class User(UserMixin, db.Document):
first_name = db.StringField(max_length=255, required=True)
last_name = db.StringField(max_length=255, required=True)
email = db.StringField(max_length=255)
class Post(db.Document):
description = db.StringField(max_length=255, required=True)
inserted_at = db.DateTimeField(default=datetime.datetime.now, required=True)
tags = db.ListField(db.EmbeddedDocumentField('Tag'))
comments = db.ListField(db.EmbeddedDocumentField('Comment'))
user = db.ReferenceField('User')
This is how I create the Post object:
user = User.objects.filter(id=current_user.id).first()
post = Post(
description = request.json["description"],
user = user
)
I have also tried:
user = current_user._get_current_object()
But I keep getting:
InvalidDocument: Cannot encode object: <User: User object>
Any ideas on what's going on?
Thanks!
I think there is some issue with the db module you are using. Is it really the mongoengine module. Because your code works fine, if I use
import mongoengine as db
这篇关于InvalidDocument:无法对对象进行编码:< User:User object> ReferenceField与MongoEngine的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!