mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #31219 -- Fixed object deletion crash for nested protected related objects.
This commit is contained in:
committed by
Mariusz Felisiak
parent
8c0c0235b6
commit
4e8d89020c
@@ -90,6 +90,17 @@ class OnDeleteTests(TestCase):
|
||||
with self.assertRaisesMessage(ProtectedError, msg):
|
||||
a.protect.delete()
|
||||
|
||||
def test_protect_path(self):
|
||||
a = create_a('protect')
|
||||
a.protect.p = P.objects.create()
|
||||
a.protect.save()
|
||||
msg = (
|
||||
"Cannot delete some instances of model 'P' because they are "
|
||||
"referenced through protected foreign keys: 'R.p'."
|
||||
)
|
||||
with self.assertRaisesMessage(ProtectedError, msg):
|
||||
a.protect.p.delete()
|
||||
|
||||
def test_do_nothing(self):
|
||||
# Testing DO_NOTHING is a bit harder: It would raise IntegrityError for a normal model,
|
||||
# so we connect to pre_delete and set the fk to a known value.
|
||||
|
||||
Reference in New Issue
Block a user