1. 程式人生 > >django框架的基礎知識點《伍》

django框架的基礎知識點《伍》

=================反序列化操作===================== 反序列化:將接收到的字典轉換成模型類的物件 分為兩步:1.驗證,2.儲存 --------》驗證:驗證的方式; 1.型別+選項 2.validate_屬性名稱(self,value)===》驗證指定的屬性是否合法 3.validate(self,values)========》驗證多個屬性是否合法 4.validators=【方法】===========》針對屬性進行驗證 呼叫: serializer = 模型類Serializer(data=字典) serializer.is_valid()===>進行驗證,如果成功則返回True,反之則返false serializer.error======>錯誤資訊,型別為字典 儲存: 1.定義序列化器,增加create(),update()方法 2.呼叫:serializer.save() ** 說明: 如果是建立,序列化器類(data=***)===》serializer.save()===>呼叫create() 如果是修改:序列化器類(模型類物件,data=***)===》serializer.save()呼叫update() 如果是部分修改:序列化器(模型類物件,data=***,partial=True)==》 serializer.save()===>呼叫update() ========================模型類序列化器================= 父類:serializers.ModelSerializer 定義關係屬性或隱藏關係屬性 class Meta: model= 模型類 fields=‘__all__'(包含全部) fields=[] (包含指定欄位) exclude=【】(排除滿足條件的欄位) extra_kwargs={約束} # depth=1設定關係屬性的顯示方式 import random       ** 說明:不需要定義create(),update()方法,因為父類中已經定義好了 =====================序列化器型別的選擇============== 序列化器的選擇: 不存在模型類,只使用部分功能 模型類序列化器的選擇: 存在模型類 ===================DRF中的request物件=================== .data======>接收請求報文體中的資料dict .query_params===>請求查詢字串dict =================DRF中的response物件================= Response(字典,status=狀態碼)==》200(查詢,增加),201(修改),204()刪除 ======================APIView================== 對於資料庫的操作: 查詢所有===============》list,建立=================》create 查詢一個===============》retrieve,修改==============》update 刪除==================》刪除