Django Rest Framework Seralize 持续时间与自定义数据类型一起归档



我有一个模型,那就是 djangoDurationField()

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

这是我的序列化程序,

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

我正在获取响应 ln 此模式的数据:

它 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",

谁能帮助实现这一目标?

自定义字段返回:

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)

最新更新