【发布时间】:2017-03-31 06:37:49
【问题描述】:
我正在使用 Django REST 框架和 Mongoengine。当我尝试序列化嵌入文档上的可选字段时,框架仍然需要该字段并返回该字段不能留空的错误消息。如何在 EmbeddedDocument 上将字段设为可选?它适用于标准 Document 模型对象,但不适用于 EmbeddedDocument 对象。
我的模特:
class Event(EmbeddedDocument):
id = ObjectIdField(required=True, default=ObjectId())
status = StringField(required=True, max_length=50)
note = StringField(required=False, max_length=2000)
created = DateTimeField(required=True, default=timezone.now())
我的序列化器:
class EventSerializer(EmbeddedDocumentSerializer):
class Meta:
model = Event
depth = 2
def validate(self, data):
return data
请注意,“note”字段设置为required=False。但是,当我序列化文档时,我仍然收到一条错误消息,指出该字段不能留空。谢谢!
【问题讨论】: