django - Django Rest + Mongoengine - 允许模型字段是可选的
问题描述
我已经用 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
[来自其他一些研究],但没有奏效。
任何帮助将不胜感激。
解决方案
推荐阅读
- kubernetes - 在部署中使用 Kubernetes javascript 客户端创建作业
- sql - Rails 像查询表格一样查询搜索结果
- c - 在C语言中创建自己的函数以从字符串编码数字转换为浮点数
- laravel - 如何在 laravel 中对 findorfail 方法进行分页
- ios - 动态调整大小的 stackView 以减少内容
- python - 从相同的类名中提取文本(Python 网页抓取)
- python-3.x - 我正在使用 spaCy 从字符串中查找位置
- elasticsearch - 使用 elasticsearch 作为数据库在 ag-grid 中执行服务器端操作
- java - 防止删除并允许插入和只读功能的集合/数据结构
- android - 迁移到 androidx 后找不到 getActivity() 和几个错误