django 查询集日期可以使用 Func、Value、output_field 从 'DD:MM:YYYY HH:MM:SS' 格式化为 'YYYY:MM:DD' 吗?

问题描述 投票:0回答:2

我想要的输出是: { “格式化日期:'2021-05-01'”, }

查询集返回:{日期:'2021-05-01 12:01:20'}

django django-queryset django-orm
2个回答
1
投票

我让它适用于 MySql 数据库:

queryset.annotate(release_date=
   Func(F('temp_date'),
   Value('%Y-%m-%d'),
   function='DATE_FORMAT',
   output_field=CharField())

0
投票

不要在数据库中进行格式化。数据库应该存储、操作和聚合数据,而不是以良好的格式呈现数据。渲染数据或很好地提供数据是视图的任务,例如通过序列化器。

您可以使用序列化器,例如:

class MySerializer(serializers.ModelSerializer):
    date = serializers.DateTimeField(format='%Y-%m-%d')

或在模板中使用:

{{ value|date:"Y-m-d" }}
© www.soinside.com 2019 - 2024. All rights reserved.