我正在使用带有Mongoengine的Django REST框架。当我尝试序列化嵌入文档上的可选字段时,框架仍然需要该字段并返回错误消息,该字段不能留空。如何在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
。但是,当我序列化文档时,仍然会收到一条错误消息,指出该字段不能留空。谢谢!
答案 0 :(得分:0)
我遇到了同样的问题,我认为您可以将字段标记为blank=True
,并且它应该允许您在这些字段中放置任何内容。