在序列化中获取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
字段的中文名称。