mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #25160 (again) -- Moved data loss check on reverse relations.
Moved data loss check when assigning to a reverse one-to-one relation on
an unsaved instance to Model.save(). This is exactly the same change as
e4b813c but for reverse relations.
This commit is contained in:
@@ -373,13 +373,15 @@ class OneToOneTests(TestCase):
|
||||
"""
|
||||
p = Place()
|
||||
b = UndergroundBar.objects.create()
|
||||
msg = (
|
||||
'Cannot assign "<UndergroundBar: UndergroundBar object>": "Place" '
|
||||
'instance isn\'t saved in the database.'
|
||||
)
|
||||
|
||||
# Assigning a reverse relation on an unsaved object is allowed.
|
||||
p.undergroundbar = b
|
||||
|
||||
# However saving the object is not allowed.
|
||||
msg = "save() prohibited to prevent data loss due to unsaved related object 'place'."
|
||||
with self.assertNumQueries(0):
|
||||
with self.assertRaisesMessage(ValueError, msg):
|
||||
p.undergroundbar = b
|
||||
b.save()
|
||||
|
||||
def test_nullable_o2o_delete(self):
|
||||
u = UndergroundBar.objects.create(place=self.p1)
|
||||
|
||||
Reference in New Issue
Block a user