@@ -143,6 +143,16 @@ def test_many_to_many_create(self):
143
143
]
144
144
self .assertEqual (serializer .data , expected )
145
145
146
+ def test_many_to_many_unsaved (self ):
147
+ source = ManyToManySource (name = 'source-unsaved' )
148
+
149
+ serializer = ManyToManySourceSerializer (source )
150
+
151
+ expected = {'id' : None , 'name' : 'source-unsaved' , 'targets' : []}
152
+ # no query if source hasn't been created yet
153
+ with self .assertNumQueries (0 ):
154
+ self .assertEqual (serializer .data , expected )
155
+
146
156
def test_reverse_many_to_many_create (self ):
147
157
data = {'id' : 4 , 'name' : 'target-4' , 'sources' : [1 , 3 ]}
148
158
serializer = ManyToManyTargetSerializer (data = data )
@@ -296,6 +306,16 @@ def test_foreign_key_update_with_invalid_null(self):
296
306
self .assertFalse (serializer .is_valid ())
297
307
self .assertEqual (serializer .errors , {'target' : ['This field may not be null.' ]})
298
308
309
+ def test_foreign_key_with_unsaved (self ):
310
+ source = ForeignKeySource (name = 'source-unsaved' )
311
+ expected = {'id' : None , 'name' : 'source-unsaved' , 'target' : None }
312
+
313
+ serializer = ForeignKeySourceSerializer (source )
314
+
315
+ # no query if source hasn't been created yet
316
+ with self .assertNumQueries (0 ):
317
+ self .assertEqual (serializer .data , expected )
318
+
299
319
def test_foreign_key_with_empty (self ):
300
320
"""
301
321
Regression test for #1072
0 commit comments