DRF數據驗證+數據存儲

1.驗證數據的自定義類

class BooksDRFt(serializers.ModelSerializer):class Meta:model = Bookfields = '__all__'#要驗證的字段author = serializers.CharField(required=False)#要驗證的字段name = serializers.CharField(min_length=2, error_messages{'required': '不能為空', 'min_length': '最短長度是二'})#局部鉤子def validate_name(self,value):response = {'status':100,'msg':'成功'}res = models.Book.objects.filter(name=value)if res:raise exceptions.ValidationError('書名重復!')else:return value#全局鉤子def validate(self, attrs):name = attrs.get('name')price = attrs.get('price')if str(name) == str(int(price)):raise exceptions.ValidationError('重復!')else:return attrs

? 注意:1 必須繼承ModelSerializer

? 2.在視圖函數中的使用

? 1 驗證+存儲數據

class Books(APIView):def post(self,request):book_res = common.BooksDRFt(data=request.data)if book_res.is_valid():book_res.save()return JsonResponse(book_res.data,safe=False)else:return JsonResponse(book_res.errors)

? 2 驗證+修改數據

class BooksUpdateCreate(APIView):def put(self,request,id):book = models.Book.objects.filter(id=id).first()book_res = common.BooksDRFt(data=request.data,instance=book)if book_res.is_valid():book_res.save()return JsonResponse(book_res.data,safe=False)else:return JsonResponse(book_res.errors)

轉載于:https://www.cnblogs.com/jianhaozhou/p/10110534.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388915.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql變量 exec_MySQL slave_exec_mode 參數說明

背景:今天無意當中看到參數slave_exec_mode,從手冊里的說明看出該參數和MySQL復制相關,是可以動態修改的變量,默認是STRICT模式(嚴格模式),可選值有IDEMPOTENT模式(冪等模式)。設置成IDEMPOTENT模式可以讓從庫避免1032…

C#word

主要功能為根據word模板生成word報表文檔,注意引用Interop.Word.dll;首先要生成word程序對象Word.Application app new Word.Application();根據模板文件生成新文件框架File.Copy(TemplateFile, FileName);生成documnet對象ord.Document doc new Word.Document(); 打開…

機器學習kaggle競賽實戰-泰坦尼克號

數據展示 首先登kaggle 下載泰坦尼克訓練相關數據 import pandas as pd import numpy as np data pd.read_csv(train.csv) print(data.shape) print(data.head) train data[:800] test data[800:] print(train.shape) print(test.shape)選擇特征 selected_features [Pcl…

上海大都會 H.A Simple Problem with Integers

題目描述 You have N integers A1, A2, ... , AN. You are asked to write a program to receive and execute two kinds of instructions: C a b means performing Ai (Ai2 mod 2018) for all Ai such that a ≤ i ≤ b.Q a b means query the sum of Aa, Aa1, ..., Ab. Note…

探索性數據分析入門_入門指南:R中的探索性數據分析

探索性數據分析入門When I started on my journey to learn data science, I read through multiple articles that stressed the importance of understanding your data. It didn’t make sense to me. I was naive enough to think that we are handed over data which we p…

用Javascript代碼實現瀏覽器菜單命令(以下代碼在 Windows XP下的瀏覽器中調試通過

每當我們看到別人網頁上的打開、打印、前進、另存為、后退、關閉本窗口、禁用右鍵等實現瀏覽器命令的鏈接,而自己苦于不能實現時,是不是感到很遺憾?是不是也想實現?如果能在網頁上能實現瀏覽器的命令,將是多么有意思的…

mysql程序設計教程_MySQL教程_編程入門教程_牛客網

MySQL 索引MySQL索引的建立對于MySQL的高效運行是很重要的,索引可以大大提高MySQL的檢索速度。打個比方,如果合理的設計且使用索引的MySQL是一輛蘭博基尼的話,那么沒有設計和使用索引的MySQL就是一個人力三輪車。拿漢語字典的目錄頁(索引)打比…

學習筆記整理之StringBuffer與StringBulider的線程安全與線程不安全

關于線程和線程不安全: 概述 編輯 如果你的代碼所在的進程中有多個線程在同時運行,而這些線程可能會同時運行這段代碼。如果每次運行結果和單線程運行的結果是一樣的,而且其他的變量的值也和預期的是一樣的,就是線程安全的。或者說…

python web應用_為您的應用選擇最佳的Python Web爬網庫

python web應用Living in today’s world, we are surrounded by different data all around us. The ability to collect and use this data in our projects is a must-have skill for every data scientist.生活在當今世界中,我們周圍遍布著不同的數據。 在我們的…

NDK-r14b + FFmpeg-release-3.4 linux下編譯FFmpeg

下載資源 官網下載完NDK14b 和 FFmpeg 下載之后,更改FFmpeg 目錄下configure問價如下: SLIBNAME_WITH_MAJOR$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF) LIB_INSTALL_EXTRA_CMD$$(RANLIB)"$(LIBDIR)/$(LIBNAME)" SLIB_INSTALL_NAME$(SLI…

C# WebBrowser自動填表與提交

C# WebBrowser自動填表與提交 默認分類 2007-04-18 15:47:17 閱讀57 評論0 字號:大中小 訂閱 要使我們的WebBrowser具有自動填表、甚至自動提交的功能,并不困難。   假設有一個最簡單的登錄頁面,輸入用戶名密碼,點“登錄”…

html中列表導航怎么和圖片對齊_HTML實戰篇:html仿百度首頁

本篇文章主要給大家介紹一下如何使用htmlcss來制作百度首頁頁面。1)制作頁面所用的知識點我們首先來分析一下百度首頁的頁面效果圖百度首頁由頭部的一個文字導航,中間的一個按鈕和一個輸入框以及下邊的文字簡介和導航組成。我們這里主要用到的知識點就是列表標簽(ul…

C# 依賴注入那些事兒

原文地址:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html 里面有一個例子差了些代碼,補全后貼上。 3.1.3 依賴獲取 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml;//定義…

asp.net core Serilog的使用

先貼上關于使用這個日志組件的一些使用方法,等有時間了在吧官方的文檔翻譯一下吧,現在真是沒時間。 Serilog在使用上主要分為兩大塊: 第一塊是主庫,包括Serilog以及Serilog.AspNetCore,如果導入后一個的話會自動導入前…

在FAANG面試中破解堆算法

In FAANG company interview, Candidates always come across heap problems. There is one question they do like to ask — Top K. Because these companies have a huge dataset and they can’t always go through all the data. Finding tope data is always a good opti…

android webView的緩存機制和資源預加載

android 原生使用WebView嵌入H5頁面 Hybrid開發 一、性能問題 android webview 里H5加載速度慢網絡流量大 1、H5頁面加載速度慢 渲染速度慢 js解析效率 js本身的解析過程復雜、解析速度不快,前端頁面設計較多的js代碼文件 手機硬件設備的性能 機型多,…

mysql springboot 緩存_Spring Boot 整合 Redis 實現緩存操作

摘要: 原創出處 www.bysocket.com 「泥瓦匠BYSocket 」歡迎轉載,保留摘要,謝謝!『 產品沒有價值,開發團隊再優秀也無濟于事 – 《啟示錄》 』本文提綱一、緩存的應用場景二、更新緩存的策略三、運行 springboot-mybatis-redis 工程…

http壓力測試工具及使用說明

http壓力測試工具及使用說明 轉 說明:介紹幾款簡單、易使用http壓測工具,便于研發同學,壓測服務,明確服務臨界值,尋找服務瓶頸點。 壓測時候可重點以下指標,關注并發用戶數、TPS(每秒事務數量&a…

itchat 道歉_人類的“道歉”

itchat 道歉When cookies were the progeny of “magic cookies”, they were seemingly innocuous packets of e-commerce data that stored a user’s partial transaction state on their computer. It wasn’t disclosed that you were playing a beneficial part in a muc…

使用Kubespray部署生產可用的Kubernetes集群(1.11.2)

Kubernetes的安裝部署是難中之難,每個版本安裝方式都略有區別。筆者一直想找一種支持多平臺 、相對簡單 、適用于生產環境 的部署方案。經過一段時間的調研,有如下幾種解決方案進入筆者視野: 部署方案優點缺點Kubeadm官方出品部署較麻煩、不夠…