在该serializer中使用source参数指定序列化时使用的字段的choices选项

在序列化中获取time_unit字段的中文名称,你可以使用choices选项中定义的第二个值,即元组中的第二个元素。你可以通过定义一个serializer,然后在该serializer中使用source参数指定序列化时使用的字段,如下所示:

from rest_framework import serializers

class WK006HModelSerializer(serializers.ModelSerializer):
    time_unit_display = serializers.CharField(source='get_time_unit_display')

    class Meta:
        model = WK006HModel
        fields = ('fa_no', 'dp_no', 'item_no', 'time_unit', 'time_unit_display')

在这个serializer中,time_unit_display字段使用了source参数来指定了get_time_unit_display,它会调用time_unit字段的get_FOO_display方法,其中FOO是你的time_unit字段名,这个方法会返回你在choices选项中定义的第二个值,即中文名称。

现在,当你对WK006HModel对象进行序列化时,time_unit_display字段会包含time_unit字段的中文名称。

posted @   侬侬发  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2023-04-24 Django4全栈进阶之路16 项目实战(用户管理):user_list.html用户列表画面设计
2023-04-24 Django4全栈进阶之路15 项目实战(用户管理):login.html登录画面设计
2023-04-24 Django4全栈进阶之路14 项目实战(用户管理):base.html基础模板设计
2023-04-24 Django4全栈进阶之路13 template模板
点击右上角即可分享
微信分享提示