我已经使用 django rest 框架设置了一个 REST api,使用 mongoengine 作为我的模型的 ORM。但是,我不断从 api 中得到这个应该是可选字段的响应:
{"ref":["此字段不能为空。"]}
我遇到的问题是,似乎所有字段(我专门使用ReferenceFields
,但我也尝试过StringFields
,等等)都不允许是可选/空的。
我尝试将验证方法设置为空 lambda(返回True
),设置null=True
字段required=False
在模型中定义的位置。
从 mongoengine 进口 * B类(文件): ... A类(文件): ref = ReferenceField('B', null=True, required=False, dbref=False, validation=lambda: True)
我什至尝试在 A 的序列化程序中显式设置序列化程序,以便我可以告诉它允许空值(使用allow_null=True
):
从 api.models 导入 A,B 从 rest_framework_mongoengine.serializers 导入 DocumentSerializer BSerializer 类(DocumentSerializer): 元类: 型号 = B 深度 = 2 类 ASerializer(DocumentSerializer): ref = BSerializer(allow_null=True) 元类: 型号 = A 深度 = 2
如何获得可选(可为空)字段以使用 django rest 框架和 mongoengine?同样,这不仅仅是ReferenceFields
,我尝试的任何领域都一样。