from rest_framework import serializers
class XXX(serializers.ModelSerializer):
自定义反序列化方法:
方法一:
gender = serializers.SerializerMethodField()
def get_gender(self,obj):
return obj.get_sex_display()
方法二: (插拔式)
@property
def gender(self):
return self.get_sex_display()
re_pwd = serializers.CharField(required=True, write_only=True)
image_path = serializers.SerializerMethodField()
def get_image_path(self, obj):
return '%s%s%s' % (r'http://127.0.0.1:8000', settings.MEDIA_URL, str(obj.image))
class Meta:
model = models.表名
fields = "__all__"
exclude = ('字段1', '字段2')
fields = ('字段1', '字段2')
read_only_fields = ()
extra_kwargs = {
write_only:只反序列化
read_only:只序列化
自定义字段默认只序列化(read_only)
}
def validate_字段名(self, value):
内部逻辑
return value
def validate(self, attrs):
内部逻辑
return attrs
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步