在Django Mongoengine REST框架中,EmbeddedDocument字段永远不可选

时间:2016-04-04 20:53:27

标签: django-rest-framework

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

1 个答案:

答案 0 :(得分:0)

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