mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #34280 -- Allowed specifying different field values for create operation in QuerySet.update_or_create().
This commit is contained in:
committed by
Mariusz Felisiak
parent
ecafcaf634
commit
c5808470aa
@@ -44,12 +44,18 @@ class AsyncRelatedManagersOperationTest(TestCase):
|
||||
self.assertIs(created, True)
|
||||
self.assertEqual(await self.mtm1.simples.acount(), 1)
|
||||
self.assertEqual(new_simple.field, 2)
|
||||
new_simple, created = await self.mtm1.simples.aupdate_or_create(
|
||||
new_simple1, created = await self.mtm1.simples.aupdate_or_create(
|
||||
id=new_simple.id, defaults={"field": 3}
|
||||
)
|
||||
self.assertIs(created, False)
|
||||
self.assertEqual(await self.mtm1.simples.acount(), 1)
|
||||
self.assertEqual(new_simple.field, 3)
|
||||
self.assertEqual(new_simple1.field, 3)
|
||||
|
||||
new_simple2, created = await self.mtm1.simples.aupdate_or_create(
|
||||
field=4, defaults={"field": 6}, create_defaults={"field": 5}
|
||||
)
|
||||
self.assertIs(created, True)
|
||||
self.assertEqual(new_simple2.field, 5)
|
||||
self.assertEqual(await self.mtm1.simples.acount(), 2)
|
||||
|
||||
async def test_aupdate_or_create_reverse(self):
|
||||
new_relatedmodel, created = await self.s1.relatedmodel_set.aupdate_or_create()
|
||||
|
||||
Reference in New Issue
Block a user