在该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 @ 2024-04-24 09:16  侬侬发  阅读(2)  评论(0编辑  收藏  举报