Added tests for QuerySet.update_or_create() with multi-table inheritance.
This commit is contained in:
parent
67c34c1a37
commit
ae3d575ec3
|
@ -50,6 +50,10 @@ class Author(models.Model):
|
|||
name = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class Journalist(Author):
|
||||
specialty = models.CharField(max_length=100)
|
||||
|
||||
|
||||
class Book(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
authors = models.ManyToManyField(Author, related_name="books")
|
||||
|
|
|
@ -12,6 +12,7 @@ from .models import (
|
|||
Author,
|
||||
Book,
|
||||
DefaultPerson,
|
||||
Journalist,
|
||||
ManualPrimaryKeyTest,
|
||||
Person,
|
||||
Profile,
|
||||
|
@ -503,6 +504,15 @@ class UpdateOrCreateTests(TestCase):
|
|||
)
|
||||
self.assertFalse(created)
|
||||
|
||||
def test_mti_update_non_local_concrete_fields(self):
|
||||
journalist = Journalist.objects.create(name="Jane", specialty="Politics")
|
||||
journalist, created = Journalist.objects.update_or_create(
|
||||
pk=journalist.pk,
|
||||
defaults={"name": "John"},
|
||||
)
|
||||
self.assertIs(created, False)
|
||||
self.assertEqual(journalist.name, "John")
|
||||
|
||||
|
||||
class UpdateOrCreateTestsWithManualPKs(TestCase):
|
||||
def test_create_with_duplicate_primary_key(self):
|
||||
|
|
Loading…
Reference in New Issue