3

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

4

0 回答 0