我已经使用django rest框架设置了一个REST api,使用mongoengine作为我的模型的ORM . 但是,我继续从api获取这个应该是可选字段的响应:
{"ref":["This field may not be null."]}
我特意使用 ReferenceFields
的问题,但我也试过 StringFields
等,不允许是可选的/ null .
我已经尝试将验证方法设置为空lambda(返回 True
),设置 null=True
和 required=False
,其中字段在模型中定义 .
from mongoengine import *
class B(Document):
...
class A(Document):
ref = ReferenceField('B', null=True, required=False, dbref=False, validation=lambda: True)
我甚至尝试在A的串行器中明确设置串行器,以便我可以告诉它允许空值(使用 allow_null=True
):
from api.models import A,B
from rest_framework_mongoengine.serializers import DocumentSerializer
class BSerializer(DocumentSerializer):
class Meta:
model = B
depth = 2
class ASerializer(DocumentSerializer):
ref = BSerializer(allow_null=True)
class Meta:
model = A
depth = 2
如何使用可选(可空)字段来使用django rest框架和mongoengine?同样,这不仅仅是 ReferenceFields
,它与我尝试的任何领域相同 .