日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DRF框架—序列化器中的字段校验规则

發(fā)布時(shí)間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DRF框架—序列化器中的字段校验规则 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、怎么校驗(yàn)創(chuàng)建的項(xiàng)目名是否是唯一的,當(dāng)項(xiàng)目名name字段不唯一,怎么設(shè)置提示信息?

方法:導(dǎo)入U(xiǎn)niqueValidator
from rest_framework.validators import UniqueValidator
1)、可以在序列化器字段上使用validators指定自定義校驗(yàn)規(guī)則
2)、validators必須得為序列類型(一般為列表),在列表中可以添加多個(gè)校驗(yàn)規(guī)則
3)、DRF框架自帶UniqueValidator校驗(yàn)器必須得使用queryset指定查詢集對(duì)象,用于對(duì)該字段進(jìn)行校驗(yàn)
4)、UniqueValidator校驗(yàn)器,可以使用message指定自定義報(bào)錯(cuò)信息

嘗試輸入同名項(xiàng)目檢驗(yàn)下,如下圖所示:

二、項(xiàng)目名稱中必須得包含“項(xiàng)目”2字

添加自定義校驗(yàn)規(guī)則
1)、可以在類外面自定義校驗(yàn)函數(shù)
2)、第一個(gè)參數(shù)為待校驗(yàn)的值
3)、如果校驗(yàn)不通過(guò),必須得拋出serializers.ValidationError(‘報(bào)錯(cuò)信息’)異常,同時(shí)可以指定具體得報(bào)錯(cuò)信息
4)、需要將校驗(yàn)函數(shù)名放置到某一個(gè)字段的 validators列表中(不加括號(hào))

三、單字段校驗(yàn)

1)、可以在序列化器類中對(duì)單個(gè)字段進(jìn)行校驗(yàn)
2)、但字段的校驗(yàn)方法名稱,必須把validate_作為前綴,加上待校驗(yàn)得字段名,如:validate_待校驗(yàn)得字段名
3)、如果校驗(yàn)不通過(guò)必須得返回serializers.ValidationError(‘具體得報(bào)錯(cuò)信息’)
4)、如果校驗(yàn)通過(guò),往往將校驗(yàn)之后得值返回
5)、如果該字段在定義時(shí)添加得校驗(yàn)規(guī)則不通過(guò),那么是不會(huì)進(jìn)行單字段校驗(yàn)的,如果能對(duì)單字段進(jìn)行校驗(yàn)說(shuō)明上面是校驗(yàn)通過(guò)的。
6)、必須返回attr

四、多字段校驗(yàn)

1)、可以在序列化器類中對(duì)多個(gè)字段進(jìn)行聯(lián)合校驗(yàn)
2)、使用固定得validate方法,會(huì)接收上面校驗(yàn)通過(guò)之后的字典數(shù)據(jù)
3)、當(dāng)所有字段定義時(shí)添加的校驗(yàn)規(guī)則都通過(guò),并且每個(gè)字典得單字段校驗(yàn)通過(guò)得情況下,才會(huì)調(diào)用validate方法
4)、必須返回attrs

五、to_internal_value方法

1、to_internal_value方法,是所有字段開(kāi)始進(jìn)行校驗(yàn)時(shí)的入口方法(最先調(diào)用的方法)
2、會(huì)依次對(duì)序列化器類的各個(gè)序列化器字段進(jìn)行校驗(yàn):先執(zhí)行字段定義時(shí)的校驗(yàn)規(guī)則
3、首先對(duì)字段類型進(jìn)行校驗(yàn)——》依次驗(yàn)證validators列表中的校驗(yàn)規(guī)則——》從右到左驗(yàn)證其他的校驗(yàn)規(guī)則——》調(diào)用單字段校驗(yàn)方法(如果有定義)
to_internal_value方法調(diào)用結(jié)束——》調(diào)用多字段聯(lián)合調(diào)用validate方法

總結(jié)

以上是生活随笔為你收集整理的DRF框架—序列化器中的字段校验规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。