我正在使用PostgreSQL数据库开发djangoapi,这个模型有一个日期字段表示旅行时间(jalali格式),一个整数字段表示旅行的乘客数量。
我使用django_jalali来处理jalali日期查询。
from django_jalali.db import models as jmodels
class TravelReport( models.Model ):
travel_date = jmodels.jDateField(verbose_name="تاریخ سفر")
passengers = models.IntegerField()
我想汇总jalali年中每个星期的乘客总数。这是我使用的查询:
queryset= TravelReport.objects.annotate(week=F("travel_date__week")).values("week").annotate(total_passengers=Sum("passengers"))
Here is my problem: Django lookup**__week**is returning Georgian week number not jalali week number. For example week number for a travel date with jdatetime.date(1390, 5, 12) should be 19 but my query is returning 31.
我有什么选择来解决这个问题?
1条答案
按热度按时间iq3niunx1#
好吧。我们来想想办法:
1.重写查找方法以使用jalali日历格式工作。
1.把你的日期转换成公历格式并存储在另一个字段中,调用一个函数,该函数以jalali格式的日期作为输入,并把公历格式的日期发送到查找字段。
1.将一周的乘客数量保存在一个单独的字段中,关键字为jalali日历周名,值为该周的乘客数量。