1
0
mirror of https://github.com/django/django.git synced 2025-10-29 16:46:11 +00:00

[3.2.x] Fixed #32433 -- Added error message on QuerySet.delete() following distinct().

Backport of 6307c3f1a1 from master
This commit is contained in:
Egidijus Macijauskas
2021-02-09 23:43:01 +02:00
committed by Mariusz Felisiak
parent 98ce39b5a3
commit aa1aed923b
3 changed files with 15 additions and 1 deletions

View File

@@ -1,7 +1,9 @@
import datetime
from django.db import connection, models, transaction
from django.test import TestCase, TransactionTestCase, skipUnlessDBFeature
from django.test import (
SimpleTestCase, TestCase, TransactionTestCase, skipUnlessDBFeature,
)
from .models import (
Award, AwardNote, Book, Child, Contact, Eaten, Email, File, Food, FooFile,
@@ -352,3 +354,12 @@ class DeleteTests(TestCase):
self.assertEqual(researcher1.secondary_contact, contact2)
self.assertEqual(researcher2.primary_contact, contact2)
self.assertIsNone(researcher2.secondary_contact)
class DeleteDistinct(SimpleTestCase):
def test_disallowed_delete_distinct(self):
msg = 'Cannot call delete() after .distinct().'
with self.assertRaisesMessage(TypeError, msg):
Book.objects.distinct().delete()
with self.assertRaisesMessage(TypeError, msg):
Book.objects.distinct('id').delete()