#29840: DJANGO query generated by ORM is invalid -------------------------------------+------------------------------------- Reporter: Arjunsingh | Owner: | Arjunsingh Type: Bug | Status: assigned Component: Database layer | Version: 2.1 (models, ORM) | Severity: Normal | Resolution: Keywords: django orm query | Triage Stage: | Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 -------------------------------------+------------------------------------- Description changed by Arjunsingh:
Old description: > I have a django query which compares datetime like this - > > filters = {'order_created_on__gte':'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_on__gte':datetime(2018-10-10)} > filters = {'order_created_on__year__gte':2018, > 'order_created_on__month__gte':10, 'order_created_on__day__gte':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. New description: I have a django query which compares datetime like this - filters = {'order_created_on__gte':'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_on__gte':datetime(2018-10-10)} filters = {'order_created_on__year__gte':2018, 'order_created_on__month__gte':10, 'order_created_on__day__gte':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. And the UI over here aint showing '__' used in filters -- -- Ticket URL: <https://code.djangoproject.com/ticket/29840#comment:2> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/068.2a1f95fc87bdf041973fa103347ffd72%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.