Python 将日期字段转换为QuerySEt中的字符串格式

Python 将日期字段转换为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

我得到一个错误:“in”要求字符串作为左操作数,而不是datetime.date

单元格。段落[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]