本文主要是介绍关于DF系列化字段的几点思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于DF系列化字段的几点思考
- 一、总概
- 二、序列化字段的三种方式
- 三、勾子函数的序列化
一、总概
-
DRF序列化字段是核心,所以应该多花时间在这个代码上。前端用不到的字段不多写,能用到的也不能少写。
-
序列化属性中read_only, write_only是很重要的,要善于利用read_only只显示给前端,read_only就不用存储到数据库中,write_only是前端提供给后端存储到数据库中(注:只用提供存储的字段,多余的就不用提供)。
-
source属性,当序列化字段与数据库字段不一致时才用,注:默认source的值与数据库字段名一致。
二、序列化字段的三种方式
-
一般序列化字段注,序列化字段与数据库字段名称一致时的操作特殊
-
特殊序列化字段
2.1 关连的序列化类:在数据库中有对应的字段,一般用ready_only
2.2 勾子函数的序列化:可以定义返回的值,一般用read_only。注:在函数中obj是对像,可以使用DOM操作。
三、勾子函数的序列化
class 类名Serializers(serializers.ModelSerializer):字段名 = serializers.SerializerMethodField(method_name='自定义勾子函数名',read_only=True)class Meta:model= 数据库fields="__all__"@staticmethod #不能少def 自定义勾子函数名(obj):#obj是对象,可以用DOM操作return {'state':200} #只能返回JSON数据
这篇关于关于DF系列化字段的几点思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!