【发布时间】:2015-12-21 04:00:56
【问题描述】:
我一直在使用 Flask 和 MongoEngine,但由于 ReferenceField 的原因,我在尝试保存对象时遇到了麻烦。
这是我的模型的样子:
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')
这就是我创建 Post 对象的方式:
user = User.objects.filter(id=current_user.id).first()
post = Post(
description = request.json["description"],
user = user
)
我也试过了:
user = current_user._get_current_object()
但我不断得到:
InvalidDocument: Cannot encode object: <User: User object>
有什么想法吗?
谢谢!
【问题讨论】:
标签: python mongodb flask mongoengine flask-mongoengine