Opened 7 years ago
Last modified 3 years ago
#28410 new Bug
query filter on date portion of datetime creates wrong parameters for mysql CONVERT_TZ function and returns no results — at Version 1
Reported by: | donaldinho | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.11 |
Severity: | Normal | Keywords: | timezone date filter |
Cc: | Can Sarıgöl, Carlton Gibson | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
I am setting the timezone
tz = timezone.get_fixed_timezone(-300) timezone.activate(tz)
then I apply the filter. search_date is just a string submitted by the client
matches = query.filter(startDateTime__date=datetime.strptime(search_date, '%Y-%m-%d').date())
the where clause that is produced is
DATE(CONVERT_TZ(`match`.`startDateTime`, 'UTC', '-0500')) = '2017-07-18'
where as it should be
DATE(CONVERT_TZ(match`.`startDateTime`, 'UTC', '-05:00')) = '2017-07-18'
note the colon in the timezone we are converting to.
Note:
See TracTickets
for help on using tickets.