Django queryset TruncMonth 输出格式问题

Django queryset TruncMonth output format issue

我正在为图表使用 Django ORM 查询集,但在更改输出格式时遇到困难

'source': ActivityLog.objects.filter(requestType='add',doDate__lte=datetime.datetime.today(), doDate__gt=datetime.datetime.today()-datetime.timedelta(days=365)).\
                   values(작업월=TruncMonth('doDate')).annotate(요청건수=Count('requestType'), IP개수=Sum('ipCnt'))},

当我使用 'TruncMonth' 时,输出是这样的 -> 2019-10-01T00:00:00

但我只想使用 2019-10 ( YYYY-MM )...

我有什么好的解决办法吗?

提前致谢。

如果你想在之后将其用作字符串,你可以这样做:

from django.db.models import DateField, CharField
from django.db.models.functions import TruncMonth, Cast, Substr

ActivityLog.objects.values(
        result=Substr(
            Cast(TruncMonth('doDate', output_field=DateField()),
                 output_field=CharField()), 1, 7)
    )

这里 TruncMonth 的目的是让 1st January 和 10th January 相等,这样,这些值就可以按月分组。
如果你想打印月份,你可以简单地打印使用doDate 作为

print(doDate.year,'-',doDate.month)