diff options
| author | Simon Charette <charette.s@gmail.com> | 2019-01-15 23:39:49 -0600 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2019-01-16 14:09:51 -0500 |
| commit | 9e5e5a657b95ee49923fe3d2691c5d73813b4c53 (patch) | |
| tree | e90cc99646c58a15b821ef3f656c9d2c656afa02 /tests | |
| parent | 4fc35a9c3efdc9154efce28cb23cb84f8834517e (diff) | |
Fixed #30044 -- Raised a FieldError on inherited field update attempts.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/expressions/models.py | 4 | ||||
| -rw-r--r-- | tests/expressions/tests.py | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tests/expressions/models.py b/tests/expressions/models.py index 42e4a37bb0..33f7850ac1 100644 --- a/tests/expressions/models.py +++ b/tests/expressions/models.py @@ -15,6 +15,10 @@ class Employee(models.Model): return '%s %s' % (self.firstname, self.lastname) +class RemoteEmployee(Employee): + adjusted_salary = models.IntegerField() + + class Company(models.Model): name = models.CharField(max_length=100) num_employees = models.PositiveIntegerField() diff --git a/tests/expressions/tests.py b/tests/expressions/tests.py index af432eb163..e66dcd6297 100644 --- a/tests/expressions/tests.py +++ b/tests/expressions/tests.py @@ -24,8 +24,8 @@ from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature from django.test.utils import Approximate from .models import ( - UUID, UUIDPK, Company, Employee, Experiment, Number, Result, SimulationRun, - Time, + UUID, UUIDPK, Company, Employee, Experiment, Number, RemoteEmployee, + Result, SimulationRun, Time, ) @@ -285,6 +285,11 @@ class BasicExpressionsTests(TestCase): with self.assertRaisesMessage(FieldError, msg): test_gmbh.save() + def test_update_inherited_field_value(self): + msg = 'Joined field references are not permitted in this query' + with self.assertRaisesMessage(FieldError, msg): + RemoteEmployee.objects.update(adjusted_salary=F('salary') * 5) + def test_object_update_unsaved_objects(self): # F expressions cannot be used to update attributes on objects which do # not yet exist in the database |
