Django rest framework Django Mongoengine REST框架中的EmbeddedDocument字段从不可选

Django rest framework Django Mongoengine REST框架中的EmbeddedDocument字段从不可选,django-rest-framework,Django Rest Framework,我正在Mongoengine中使用Django REST框架。当我尝试序列化嵌入文档上的可选字段时,框架仍然需要该字段,并返回错误消息,该字段不能留空。如何使嵌入文档上的字段成为可选字段?它适用于标准文档模型对象,但不适用于嵌入式文档对象 我的模型: class Event(EmbeddedDocument): id = ObjectIdField(required=True, default=ObjectId()) status = StringField(required=T

我正在Mongoengine中使用Django REST框架。当我尝试序列化嵌入文档上的可选字段时,框架仍然需要该字段,并返回错误消息,该字段不能留空。如何使嵌入文档上的字段成为可选字段?它适用于标准文档模型对象,但不适用于嵌入式文档对象

我的模型:

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
。但是,当我序列化文档时,仍然会收到一条错误消息,该字段不能留空。谢谢大家!

我遇到了同样的问题,我认为您可以将字段标记为
blank=True
,这样应该允许您在这些字段中不放置任何内容