1. 程式人生 > 實用技巧 >Python學習————序列化類

Python學習————序列化類

序列化類:

-Serializer
    	-寫欄位,欄位名要跟表的欄位對應,想不對應(source可以修改),有屬性,read_only,max_len...
        -SerializerMethodField必須配套一個get_欄位名,返回什麼,前臺就看到什麼
    -ModelSerializer
    	-class Meta:
        	表對應
            取出的欄位(__all__,列表)
            排除的欄位(用的很少)
            extra_kwargs會給欄位的屬性
            
    -重寫某個欄位
    	password=serializers.SerializerMethodField()
        def get_password(self,instance):
            return "***"
    -校驗:欄位自己的校驗,區域性鉤子,全域性鉤子
    	-只要序列化類的物件執行了is_valiad(),這些鉤子都會走,可以再鉤子裡寫邏輯
    -在表模型(model)中寫方法,可以在上面取出的欄位中直接寫,不參與反序列化
   -序列化多條(many=True):本質,ListSerializer內部套了一個個的serializer物件
   -重寫ListSerializer,讓序列化物件和自己寫的ListSerializer對應上(瞭解)
	-序列化類(instance,data,many,context={requtst:request})
	-檢視函式中給序列化物件傳遞資料,使用context,傳回來,放進去直接使用序列化物件.context.get()