gpt4 book ai didi

python - Django 休息框架条件必填字段

转载 作者:太空狗 更新时间:2023-10-30 01:53:00 35 4
gpt4 key购买 nike

我想写一个drf validator这将根据其他字段的值将字段标记为必填。例如:

class MySerializer(serializers.Serializer):
has_children = fields.BooleanField()
nb_childs = fields.IntegerField(min_value=1, validators=[RequiredIf(field='has_children', value=True)], required=False)

起初我相信class based validator方法是通过使用如下方法检索“has_children”的值:

def set_context(self, serializer_field):
print serializer_field.parent.initial_data

但未设置“initial_data”。有什么线索吗?

最佳答案

看看here in the DRF documentation

基本上,要进行对象级验证,您需要重写 Serializer 的 validate(self, data) 方法,使用 data 参数的值(this是序列化程序的状态作为 dict 提供以进行验证)然后在出现任何错误时引发 ValidationError

如果需要为特定字段引发错误,则可以将字典作为参数传递给 ValidationError 构造函数:

raise ValidationError({'yourfield': ['Your message']})

关于python - Django 休息框架条件必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009349/

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