﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24991	Range types not properly converted to SQL in QuerySet.query.__str__()	Villiers Strauss	Dmitry Dygalo	"The string representation of the `QuerySet.query` object, which is useful in debugging, does not convert range types to their SQL equivalents, instead it just displays the string representation of the range type.

{{{
>>> import datetime
>>> from django.utils.timezone import utc
>>> from psycopg.extras import NumericRange, DateRange, DateTimeTZRange
>>> from myapp.models import MyModel  # model defintion is irrelevant

>>> print(MyModel.objects.filter(num_rng__overlap=NumericRange(1, 5)).query)
SELECT [...] FROM ""myapp_mymodel"" WHERE (""myapp_mymodel"".""num_rng"" && NumericRange(1, 5, '[)'))

>>> print(MyModel.objects.filter(date_rng__overlap=DateRange(datetime.date(2015, 5, 1), datetime.date(2015, 6, 1))).query)
SELECT [...] FROM ""myapp_mymodel"" WHERE (""myapp_mymodel"".""date_rng"" && DateRange(datetime.date(2015, 5, 1), datetime.date(2015, 6, 1), '[)'))

>>> print(MyModel.objects.filter(dt_rng__overlap=DateTimeTZRange(datetime.datetime(2015, 5, 1, tzinfo=utc), datetime.datetime(2015, 6, 1, tzinfo=utc))).query)
SELECT [...] FROM ""myapp_mymodel"" WHERE (""myapp_mymodel"".""dt_rng"" && DateTimeTZRange(datetime.datetime(2015, 5, 1, 0, 0, tzinfo=<UTC>), datetime.datetime(2015, 6, 1, 0, 0, tzinfo=<UTC>), '[)'))
}}}

The expected output is `numrange(1.0, 5.0)`, `daterange('2015-05-01', '2015-06-01')` and `tstzrange('2015-05-01 00:00:00+00:00', '2015-06-01 00:00:00+00:00')` respectively."	Bug	closed	contrib.postgres	dev	Normal	duplicate			Accepted	1	0	0	1	0	0
