11import unittest
2+ from django import VERSION
23from django .test .testcases import TestCase
34from django .test .utils import override_settings
45from querybuilder .fields import JsonField
@@ -45,7 +46,12 @@ def test_one(self):
4546 'querybuilder_tests_metricrecord WHERE (querybuilder_tests_metricrecord.data->>\' two\' = %(A0)s)'
4647 )
4748 )
48- self .assertEqual (query .select (), [{'my_two_alias' : 'two' }])
49+
50+ # Django 3.1 changes the raw queryset behavior so querybuilder isn't going to change that behavior
51+ if VERSION [0 ] == 3 and VERSION [1 ] == 1 :
52+ self .assertEqual (query .select (), [{'my_two_alias' : '"two"' }])
53+ else :
54+ self .assertEqual (query .select (), [{'my_two_alias' : 'two' }])
4955
5056 query = Query ().from_table (MetricRecord , fields = [one_field ]).where (** {
5157 one_field .get_where_key (): '1'
@@ -57,7 +63,12 @@ def test_one(self):
5763 'querybuilder_tests_metricrecord WHERE (querybuilder_tests_metricrecord.data->>\' one\' = %(A0)s)'
5864 )
5965 )
60- self .assertEqual (query .select (), [{'my_one_alias' : 1 }])
66+
67+ # Django 3.1 changes the raw queryset behavior so querybuilder isn't going to change that behavior
68+ if VERSION [0 ] == 3 and VERSION [1 ] == 1 :
69+ self .assertEqual (query .select (), [{'my_one_alias' : '1' }])
70+ else :
71+ self .assertEqual (query .select (), [{'my_one_alias' : 1 }])
6172
6273 query = Query ().from_table (MetricRecord , fields = [one_field ]).where (** {
6374 one_field .get_where_key (): '2'
@@ -93,11 +104,11 @@ def test_one(self):
93104 record = JsonQueryset (model = MetricRecord ).filter (** {'data->two' : 'one' }).first ()
94105 self .assertIsNone (record )
95106
96- record = JsonQueryset (model = MetricRecord ).filter (** {'data->two' : 'two' }). first ( )
97- self .assertEqual (record .data ['two' ], 'two' )
107+ records = list ( JsonQueryset (model = MetricRecord ).filter (** {'data->two' : 'two' }))
108+ self .assertEqual (records [ 0 ] .data ['two' ], 'two' )
98109
99- record = JsonQueryset (model = MetricRecord ).filter (** {'data->one' : '1' }). first ( )
100- self .assertEqual (record .data ['one' ], 1 )
110+ records = list ( JsonQueryset (model = MetricRecord ).filter (** {'data->one' : '1' }))
111+ self .assertEqual (records [ 0 ] .data ['one' ], 1 )
101112
102113 record = JsonQueryset (model = MetricRecord ).filter (** {'data->one' : '2' }).first ()
103114 self .assertIsNone (record )
0 commit comments