Opened 6 years ago
Last modified 6 years ago
#29840 closed Bug
DJANGO query generated by ORM is invalid — at Initial Version
Reported by: | Arjunsingh | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 2.1 |
Severity: | Normal | Keywords: | django orm query |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I have a django query which compares datetime like this -
filters = {'order_created_ongte':'2018-10-10'}
queryset = model.objects.filter(filters)
query = str(queryset.query)
It creates a query - select ... where order_created_on >= 2018-10-10 00:00:00
When fired on postgres, it gives an error - syntax error at or near "00".
If I fire the same query in db manually by replacing the date by '2018-10-10' it works.
Now I actually tried the following ways, but all queries give the same text in the db query
filters = {'order_created_ongte':datetime(2018-10-10)}
filters = {'order_created_onyeargte':2018, 'order_created_onmonthgte':10, 'order_created_ondaygte':10}
Also used the range filter, all of the above insert this text in the final query -
where order_created_on >= 2018-10-10 00:00:00
Updating the time zone too didnt have any effect rather than just removing a +5:30 from the query.