1
參考場我使用Django的與mongoengine和mongoengine休息框架的驗證。在mongoengine串行
如this article所示,在元類指定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休息框架的書面和在目前的版本沒有現場related_model_validations在串行元類。
那麼如何在mongoengine-rest-framework的當前版本中實現類似的結果呢?