【问题标题】:EmbeddedDocument field never optional in Django Mongoengine REST frameworkEmbeddedDocument 字段在 Django Mongoengine REST 框架中从不可选
【发布时间】: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。但是,当我序列化文档时,我仍然收到一条错误消息,指出该字段不能留空。谢谢!

【问题讨论】:

    标签: django-rest-framework


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多