0

我已经用 django rest 框架设置了一个 REST api,使用 mongoengine 作为模型。但是,默认情况下,模型的所有字段都是必需的,但我想将某些字段设为可选。

model.py的是:

class ProjectFormula(EmbeddedDocument):
    name = fields.StringField()
    expression = fields.StringField()

class ProjectMeta(Document):
    project_id  = fields.IntField()
    sheet_mapping = fields.DictField()
    classificication_map = fields.DictField()
    concept_map = fields.DictField()
    formulas = fields.ListField(fields.EmbeddedDocumentField(ProjectFormula))

serializers.py

class ProjectMetaSerializer(mongoserializer.DocumentSerializer):
    class Meta:
        model  = ProjectMeta
        fields = '__all__' 

response from Post api:

{
    "sheet_mapping": [
        "This field is required."
    ],
    "classificication_map": [
        "This field is required."
    ],
    "concept_map": [
        "This field is required."
    ]
}

我想让这个字段可选,只有 project_id 和 sheet_mapping 是强制性的。

我尝试classificication_map = fields.DictField(required=False)model.py[来自其他一些研究],但没有奏效。

任何帮助将不胜感激。

4

0 回答 0