1
1
import unittest
2
+ from django import VERSION
2
3
from django .test .testcases import TestCase
3
4
from django .test .utils import override_settings
4
5
from querybuilder .fields import JsonField
@@ -45,7 +46,12 @@ def test_one(self):
45
46
'querybuilder_tests_metricrecord WHERE (querybuilder_tests_metricrecord.data->>\' two\' = %(A0)s)'
46
47
)
47
48
)
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' }])
49
55
50
56
query = Query ().from_table (MetricRecord , fields = [one_field ]).where (** {
51
57
one_field .get_where_key (): '1'
@@ -57,7 +63,12 @@ def test_one(self):
57
63
'querybuilder_tests_metricrecord WHERE (querybuilder_tests_metricrecord.data->>\' one\' = %(A0)s)'
58
64
)
59
65
)
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 }])
61
72
62
73
query = Query ().from_table (MetricRecord , fields = [one_field ]).where (** {
63
74
one_field .get_where_key (): '2'
@@ -93,11 +104,11 @@ def test_one(self):
93
104
record = JsonQueryset (model = MetricRecord ).filter (** {'data->two' : 'one' }).first ()
94
105
self .assertIsNone (record )
95
106
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' )
98
109
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 )
101
112
102
113
record = JsonQueryset (model = MetricRecord ).filter (** {'data->one' : '2' }).first ()
103
114
self .assertIsNone (record )
0 commit comments