繁体   English   中英

如何在 django 查询集的 values_list() function 中获取日期时间字段作为字符串?

[英]How to get datetimefield as string in django queryset's values_list() function?

我有一个包含日期时间字段的 model。 我需要将 model 表中的行写入 excel 表。

由于 model 字段是日期时间字段,因此在写入 excel 时,它会为日期写入45976等数字而不是2020-04-01作为字符串。

我正在使用queryset.values_list(*fields_to_fetch)获取行的值。这个fields_to_fetch包含我正在寻找的日期时间字段。 当我打印类型时,它在控制台中显示DateTimeField

有没有办法将datetimefield时间字段作为字符串类型?

我能够将values_list()中的每个项目转换为列表,然后将datetimefield时间字段转换为字符串,并将 append 转换为新列表并写入 excel。

我正在寻找一种方法来避免这一切。

使用Cast(...)数据库 function,

from django.db.models.functions import Cast
from django.db.models import CharField

cast_expr = Cast('date_time_field', output_field=CharField())
data = ModelKlass.objects.annotate(dt_as_str=cast_expr).values_list('dt_as_str')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM