【发布时间】:2017-03-06 03:49:32
【问题描述】:
我将 django 与 mongoengine 和 mongoengine-rest-framework 一起使用。
如this article所示,在Serializer的Meta class中指定related_model_validations字段
class Comment(Document):
post = ReferenceField(Post)
owner = ReferenceField(User)
text = StringField(max_length=140)
isApproved = BooleanField(default=False)
from rest_framework_mongoengine import mongoengine_serializer
class CommentSerializer(MongoEngineModelSerializer):
class Meta:
model = Comment
depth = 1
related_model_validations = {'owner': User, 'post': Post}
exclude = ('isApproved',)
如果ReferenceField引用的文档丢失,可以帮助实现以下结果:
{
"owner":["User with PK ... does not exist."]
}
所以不是引发验证异常,而是修改 json。
但是,这篇文章是为旧版本的 mongoengine-rest-framework 编写的,在当前版本中 Serializer Meta 类中没有字段 related_model_validations 。
那么如何在当前版本的mongoengine-rest-framework中达到类似的效果呢?
【问题讨论】:
标签: django serialization mongoengine restframeworkmongoengine