आह, यह एक अच्छी चुनौती थी। मैं PostGres से परीक्षण करने में सक्षम था, और मैं पुष्टि कर सकता हूं कि यह काम कर रहा है। MySQL कोड बहुत करीब होना चाहिए। हालांकि, CONVERT_TZ दस्तावेज़ीकरण :
MySQL (CONVERT_TZ(dt का उपयोग करके) , from_tz, to_tz) )
from_tz = 'UTC'
to_tz = 'Australia/ACT'
report = Sale.objects.extra(
{
'day': "date(CONVERT_TZ(sale_date, '{from_tz}', '{to_tz}'))".format(
from_tz=from_tz,
to_tz=to_tz
)
}
).values(
'day'
).annotate(
day_total=Sum('total')
)
पोस्टग्रेस: (AT TIME ZONE का उपयोग करके )
time_zone = 'Australia/ACT'
report = Sale.objects.extra(
{'day': "date(sale_date) AT TIME ZONE '{0}'".format(time_zone)}
).values(
'day'
).annotate(
day_total=Sum('total')
)