Формат даты в Django views complex sql

Мне нужно создать select к базе данных, где у меня есть строки с датой в таком формате:

2020-08-21 10:43:26.000000

И мне нужно изменить эту дату следующим образом:

Месяц-День (например, Jan-02)

После этого столбец группируется по... Я пробую многое из того, что нашел здесь, но ничего не работает... :/

Сейчас мой запрос выглядит следующим образом:

hist_data = Vpnhistory.objects.filter(bytes_sent__gt=0)
    hist_data = hist_data.filter(end_time__gte=datetime.now()-timedelta(days=14))
    hist_data = hist_data.values('end_time', 'bytes_sent')
    hist_data = hist_data.annotate(summ=Sum('bytes_sent'), end_time_str=DateToChar(F('end_time'), Value('MM-DD')))

А класс DateToChar выглядит так в моем models.py:

class DateToChar(models.Func):
    arity = 2
    function = 'to_char'
    output_field = models.CharField()

Datum по-прежнему возвращает полный формат времени даты... :/

Django already has some logic to do this without converting this to a string. You can work with TruncDate [Django-doc], and then thus process this with:

from django.db.models import Sum
from django.db.models.functions import TruncDate, Now

hist_data = Vpnhistory.objects.filter(
    bytes_sent__gt=0, end_time__gte=Now()-timedelta(days=14)
).values(date=TruncDate('end_time')).annotate(
    summ=Sum('bytes_sent')
).order_by('date')
Вернуться на верх