gpt4 book ai didi

python - MongoEngine:Embeddeddocument 字段不将默认值设置为 none?

转载 作者:行者123 更新时间:2023-11-28 19:12:42 25 4
gpt4 key购买 nike

我已经为嵌入式文档中的字段设置了默认值,但是当我尝试发布数据时,它不接受 None 或 Blank 值。

这是我的代码的样子-

模型.py

class MetaData(EmbeddedDocument):
adcode = StringField(max_length=50, default="", blank=True, Null=True)
additional_html_below_header = StringField(max_length=50, default="")
adhoc_plus_disable_pacing = BooleanField(default=False)
adhoc_plus_has_priority = BooleanField(default=False)
adhoc_server = StringField(max_length=50, default="")
class LandingPage(Document):
type = StringField(max_length=50, default="")
meta_clean_URL_tag = StringField(max_length=50, default="")
meta_name = StringField(max_length=50, default="")
created_time = DateTimeField(default=datetime.datetime.now)
new = BooleanField(default=False)
meta_data = EmbeddedDocumentField(MetaData)

序列化器.py

class MetaDataSerializer(serializers.EmbeddedDocumentSerializer):
class Meta:
model = MetaData

class LandingPageSerializer(serializers.DocumentSerializer):
meta_data = MetaDataSerializer()
class Meta:
model = LandingPage

我在这里做错了什么吗?

最佳答案

    class MetaDataSerializer(serializers.EmbeddedDocumentSerializer):
adcode = serializers.CharField(allow_blank=True,allow_null=True)
adhoc_server = serializes.CharField(allow_blank=True,allow_null=True)
additional_html_below_header = serializers.CharField(allow_blank=True,allow_null=True)

class Meta:
model = MetaData

DRF-mongoengine 或 DRF 不允许字符串为 null 和空白值。需要明确提及它们。强加于模型的边界不包含在序列化程序中。

上述更改应该可以帮助您维护所需的验证。

关于python - MongoEngine:Embeddeddocument 字段不将默认值设置为 none?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38042314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com