Django Rest Framework 使用自定义数据类型序列化持续时间字段

Django Rest Framework Seralize duration filed with custom datatype

我有一个模型,它与 django DurationField()

class Elpased(models.Model):
    total_duration = models.DurationField(
        default=30
    )

这是我的序列化程序,

class ElapsedSerializer(ModelSerializer):
    class Meta:
        model = Elapsed
        fields = '__all__'

我正在以这种模式获取响应数据:

它需要 2 分钟 "total_duration": "00:02:00", 表示25秒"total_duration": "00:00:25",

但是我不喜欢这样,我想秒取数据,如果有"total_duration": "00:02:00",应该是这样"total_duration": "120",

如果有"total_duration": "00:00:25",,应该是这样的:"total_duration": "25",

任何人都可以帮助实现这个目标吗?

自定义字段return:

class ElapsedSerializer(ModelSerializer):
  class Meta:
    model = Elapsed
    fields = '__all__'

  total_duration = serializers.SerializerMethodField()

  def get_total_duration(self, obj):
    total_duration = obj.total_duration
    h, m, s = total_duration.split(':')
    return int(h) * 3600 + int(m) * 60 + int(s)