mirror of
https://github.com/django/django.git
synced 2025-07-30 16:44:30 +00:00
Fixed #29129 -- Skipped UPDATE when adding a model instance with inherited primary key that has a default.
This commit is contained in:
parent
7e15795bf0
commit
babd412685
3 changed files with 14 additions and 4 deletions
|
@ -46,3 +46,7 @@ class SelfRef(models.Model):
|
|||
|
||||
class PrimaryKeyWithDefault(models.Model):
|
||||
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4)
|
||||
|
||||
|
||||
class ChildPrimaryKeyWithDefault(PrimaryKeyWithDefault):
|
||||
pass
|
||||
|
|
|
@ -12,8 +12,8 @@ from django.test import (
|
|||
from django.utils.translation import gettext_lazy
|
||||
|
||||
from .models import (
|
||||
Article, ArticleSelectOnSave, FeaturedArticle, PrimaryKeyWithDefault,
|
||||
SelfRef,
|
||||
Article, ArticleSelectOnSave, ChildPrimaryKeyWithDefault, FeaturedArticle,
|
||||
PrimaryKeyWithDefault, SelfRef,
|
||||
)
|
||||
|
||||
|
||||
|
@ -139,6 +139,12 @@ class ModelInstanceCreationTests(TestCase):
|
|||
with self.assertNumQueries(1):
|
||||
PrimaryKeyWithDefault().save()
|
||||
|
||||
def test_save_parent_primary_with_default(self):
|
||||
# An UPDATE attempt is skipped when an inherited primary key has
|
||||
# default.
|
||||
with self.assertNumQueries(2):
|
||||
ChildPrimaryKeyWithDefault().save()
|
||||
|
||||
|
||||
class ModelTest(TestCase):
|
||||
def test_objects_attribute_is_only_available_on_the_class_itself(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue