Django休息框架 - 序列化程序中的字段级验证 [英] Django rest framework - Field level validation in serializer

查看:264
本文介绍了Django休息框架 - 序列化程序中的字段级验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个序列化程序,我试图添加字段级验证,我需要验证序列化的一些charfield是否为空,如果布尔字段为true或false。



我有这个序列化程序,但即使Ficha_publicada为false,也不会返回错误

  class PublicarSerializer serializer.Serializer):

Titulo = serializers.CharField(required = True)
Ficha_publicada = serializers.BooleanField()

def validate_Titulo(self,attrs,source )
value = attrs [source]

如果不是Ficha_publicada:
raise serializers.ValidationError(Ficha no publicada)
返回attrs

class Meta:
model = Fichas


解决方案

p>使用 attrs ['Ficha_publicada']

 如果不是['Ficha_publicada']:
raise serializers.ValidationError(Ficha n o publicada)
返回attrs


I have a serializer and I'm trying to add field level validation and I need to verify if some charfields of the serialize are empty or not, and if a boolean field is true or false.

I have this serializer but I never return an error even if Ficha_publicada is false

class PublicarSerializer(serializers.Serializer):

    Titulo = serializers.CharField(required=True)
    Ficha_publicada = serializers.BooleanField()

    def validate_Titulo(self, attrs, source):
        value = attrs[source]

        if not Ficha_publicada:
            raise serializers.ValidationError("Ficha no publicada")
        return attrs

    class Meta:
        model = Fichas

解决方案

use attrs['Ficha_publicada'] :

if not attrs['Ficha_publicada']:
    raise serializers.ValidationError("Ficha no publicada")
return attrs

这篇关于Django休息框架 - 序列化程序中的字段级验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆