我已经使用 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,我尝试的任何领域都一样。