File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed
tests/regressiontests/mongodb Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -45,6 +45,14 @@ def build_query(self):
45
45
filters = self .get_filters (self .query .where )
46
46
return self .connection .db [self .query .model ._meta .db_table ].find (filters )
47
47
48
+ def results_iter (self ):
49
+ query = self .build_query ()
50
+ for row in query :
51
+ yield tuple (
52
+ row [f .column if f is not self .query .model ._meta .pk else "_id" ]
53
+ for f in self .query .model ._meta .fields
54
+ )
55
+
48
56
def has_results (self ):
49
57
try :
50
58
self .build_query ()[0 ]
@@ -62,4 +70,9 @@ def insert(self, return_id=False):
62
70
])
63
71
if self .query .model ._meta .pk .column in values :
64
72
values ["_id" ] = values .pop (self .query .model ._meta .pk .column )
73
+ if "_id" in values and not values ["_id" ]:
74
+ del values ["_id" ]
65
75
return self .connection .db [self .query .model ._meta .db_table ].insert (values )
76
+
77
+ class SQLUpdateCompiler (SQLCompiler ):
78
+ pass
Original file line number Diff line number Diff line change @@ -9,6 +9,10 @@ def test_create(self):
9
9
self .assertTrue (b .pk is not None )
10
10
self .assertEqual (b .name , "Bruce Springsteen" )
11
11
self .assertTrue (b .good )
12
+ b2 = Artist .objects .get (pk = b .pk )
13
+ self .assertEqual (b .pk , b2 .pk )
14
+ self .assertEqual (b .name , b2 .name )
15
+ self .assertEqual (b .good , b2 .good )
12
16
13
17
def test_update (self ):
14
18
l = Artist .objects .create (name = "Lady Gaga" , good = True )
@@ -18,3 +22,6 @@ def test_update(self):
18
22
l .good = False
19
23
l .save ()
20
24
self .assertEqual (l .pk , pk )
25
+
26
+ l = Artist .objects .get (pk = pk )
27
+ self .assertTrue (not l .good )
You can’t perform that action at this time.
0 commit comments