Django queryset TruncMonth 输出格式问题

Jae*_*ark 3 django django-orm django-queryset

我正在将 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'))},
Run Code Online (Sandbox Code Playgroud)

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

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

有什么好的解决办法吗?

提前致谢。

fun*_*man 5

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

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)
    )
Run Code Online (Sandbox Code Playgroud)