Fixed #31148 -- Added error messages on update()/delete() operations following union(), intersection(), and difference().

This commit is contained in:
Hasan Ramezani 2020-01-09 11:10:25 +01:00 committed by Mariusz Felisiak
parent f600e3fad6
commit eef3ea847e
2 changed files with 4 additions and 0 deletions

View File

@ -711,6 +711,7 @@ class QuerySet:
def delete(self):
"""Delete the records in the current QuerySet."""
self._not_support_combined_queries('delete')
assert not self.query.is_sliced, \
"Cannot use 'limit' or 'offset' with delete."
@ -756,6 +757,7 @@ class QuerySet:
Update all elements in the current QuerySet, setting all the given
fields to the appropriate values.
"""
self._not_support_combined_queries('update')
assert not self.query.is_sliced, \
"Cannot update a query once a slice has been taken."
self._for_write = True

View File

@ -272,12 +272,14 @@ class QuerySetSetOperationTests(TestCase):
for operation in (
'annotate',
'defer',
'delete',
'exclude',
'extra',
'filter',
'only',
'prefetch_related',
'select_related',
'update',
):
with self.subTest(combinator=combinator, operation=operation):
with self.assertRaisesMessage(