activitylist = sr.activity_set.all()
cell.paragraphs[0].text = activitylist.values_list('activityPlannedStartDate', flat = True)
我得到一个错误:'in'要求将字符串作为左操作数,而不是datetime.date
cell.paragraphs[0].text
是我在Word中构建的docx中预定义表中的单元格。
请对此TypeError
提供帮助。
谢谢你!
您应使用strftime方法将日期格式设置为字符串。并使用string.join
将值列表表示为逗号分隔的字符串:
formatted_dates = [date.strftime("%Y-%m-%d") for date in
activitylist.values_list('activityPlannedStartDate',
flat=True)]
cell.paragraphs[0].text = ', '.join(formatted_dates)
尝试以下方法:
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()
)
)
仅适用于支持to_char
date type formatting function的数据库。 Postgres
默认提供此功能。如果使用MSSQL
后端,则可以将to_char
与FORMAT
交换。对于Oracle
,请参阅其文档等。>
评估查询集后,这会将注释formatted_date
添加到返回的查询集中的每个对象。