Python 将日期字段转换为QuerySEt中的字符串格式
我得到一个错误:“in”要求字符串作为左操作数,而不是datetime.datePython 将日期字段转换为QuerySEt中的字符串格式,python,django,typeerror,python-docx,Python,Django,Typeerror,Python Docx,我得到一个错误:“in”要求字符串作为左操作数,而不是datetime.date 单元格。段落[0]。文本是我在Word中构建的docx中预定义表中的单元格 请帮助处理此TypeError 提前谢谢你 您应该使用方法将日期格式化为字符串。并使用string.join将值列表表示为逗号分隔的字符串: activitylist = sr.activity_set.all() cell.paragraphs[0].text = activitylist.values_list('activityPla
单元格。段落[0]。文本是我在Word中构建的docx中预定义表中的单元格
请帮助处理此TypeError
提前谢谢你 您应该使用方法将日期格式化为字符串。并使用string.join
将值列表表示为逗号分隔的字符串:
activitylist = sr.activity_set.all()
cell.paragraphs[0].text = activitylist.values_list('activityPlannedStartDate', flat = True)
这仅适用于支持to_char
的数据库<代码>Postgres
默认情况下提供此功能。如果您使用MSSQL
后端,您可以使用格式将切换为\u char
。有关Oracle
的信息,请查阅他们的文档等
在对查询集求值之后,这将向返回的查询集中的每个对象添加注释格式化的\u date
from django.db.models import F, Func, Value, CharField
qs.annotate(
formatted_date=Func(
F('date'),
Value('dd.MM.yyyy hh:mm'),
function='to_char',
output_field=CharField()
)
)
你在找这个吗?这是否仅适用于datetime.datetime字段?我使用的是DateField:activityPlannedEndDate=models.DateField(“计划结束日期”)
from django.db.models import F, Func, Value, CharField
qs.annotate(
formatted_date=Func(
F('date'),
Value('dd.MM.yyyy hh:mm'),
function='to_char',
output_field=CharField()
)
)
[obj.formatted_date for obj in qs]