我正在尝试将Django模型中的十进制值转换为MM:SS:MS的时间格式。
例如: 97.13 ,因为十进制值将变为 01:37:13 。
在Django中,有没有简单的方法可以通过原始SQL查询实现此目标?可以说我有这个原始查询:
example = Example.objects.raw("""SELECT x.id, x.time FROM your_Table x WHERE x.id = %s""", [id])
执行原始查询并在Python中进行操作会更好吗?我将如何处理?我可以循环这些值吗?
for examples in example:
formatted_time = function(examples.time)
最终,我想将示例对象(转换后的时间)传递给模板。
谢谢。
答案 0 :(得分:1)
一种方法是使用Django的“模板过滤器”并为该转换创建模板过滤器。
https://docs.djangoproject.com/en/2.0/howto/custom-template-tags/
它看起来像:
@register.filter
def decimal_to_time_filter(decimal_value):
# implement this conversion
result = convert decimal_value to hh:mm:ss format
return result
在模板中,您将使用自定义的“ decimal_to_time_filter”过滤器来显示重新格式化的数据。
{{ your_decimal_field|decimal_to_time_filter }}