簡體   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