summaryrefslogtreecommitdiff
path: root/tests/delete/tests.py
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2019-04-05 17:52:59 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-04-08 21:14:00 +0200
commitafc708cf6d047b35db57bd7c55baeffef459d279 (patch)
treee26df2582f3e533b011341ca749fc93e69e77d95 /tests/delete/tests.py
parent19fc6376ce67d01ca37a91ef2f55ef769f50513a (diff)
Fixed #30330 -- Fixed setting of primary key to None during fast-delete.
Regression in bc7dd8490b882b2cefdc7faf431dc64c532b79c9.
Diffstat (limited to 'tests/delete/tests.py')
-rw-r--r--tests/delete/tests.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/delete/tests.py b/tests/delete/tests.py
index 55eeb226ea..ed47d0667d 100644
--- a/tests/delete/tests.py
+++ b/tests/delete/tests.py
@@ -1,6 +1,7 @@
from math import ceil
from django.db import IntegrityError, connection, models
+from django.db.models.deletion import Collector
from django.db.models.sql.constants import GET_ITERATOR_CHUNK_SIZE
from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature
@@ -471,6 +472,14 @@ class FastDeleteTests(TestCase):
self.assertEqual(User.objects.count(), 1)
self.assertTrue(User.objects.filter(pk=u2.pk).exists())
+ def test_fast_delete_instance_set_pk_none(self):
+ u = User.objects.create()
+ # User can be fast-deleted.
+ collector = Collector(using='default')
+ self.assertTrue(collector.can_fast_delete(u))
+ u.delete()
+ self.assertIsNone(u.pk)
+
def test_fast_delete_joined_qs(self):
a = Avatar.objects.create(desc='a')
User.objects.create(avatar=a)