From 6af23a4521fcf80aec7c5ee3988914423c7dfccd Mon Sep 17 00:00:00 2001 From: Henry Dang Date: Mon, 19 Dec 2016 08:33:46 -0500 Subject: Fixed #27377 -- Clarified that prepopulated_fields doesn't work with OneToOneField. --- tests/modeladmin/models.py | 1 + tests/modeladmin/tests.py | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'tests/modeladmin') diff --git a/tests/modeladmin/models.py b/tests/modeladmin/models.py index 2c2a910892..941032bf77 100644 --- a/tests/modeladmin/models.py +++ b/tests/modeladmin/models.py @@ -36,6 +36,7 @@ class ValidationTestModel(models.Model): is_active = models.BooleanField(default=False) pub_date = models.DateTimeField() band = models.ForeignKey(Band, models.CASCADE) + best_friend = models.OneToOneField(User, models.CASCADE) # This field is intentionally 2 characters long (#16080). no = models.IntegerField(verbose_name="Number", blank=True, null=True) diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index ba75deff13..f8b4b5fae1 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -1006,8 +1006,8 @@ class PrepopulatedFieldsCheckTests(CheckTestCase): self.assertIsInvalid( ValidationTestModelAdmin, ValidationTestModel, - ("The value of 'prepopulated_fields' refers to 'users', which must not be " - "a DateTimeField, a ForeignKey, or a ManyToManyField."), + "The value of 'prepopulated_fields' refers to 'users', which must not be " + "a DateTimeField, a ForeignKey, a OneToOneField, or a ManyToManyField.", 'admin.E028') def test_valid_case(self): @@ -1016,6 +1016,17 @@ class PrepopulatedFieldsCheckTests(CheckTestCase): self.assertIsValid(ValidationTestModelAdmin, ValidationTestModel) + def test_one_to_one_field(self): + class ValidationTestModelAdmin(ModelAdmin): + prepopulated_fields = {'best_friend': ('name',)} + + self.assertIsInvalid( + ValidationTestModelAdmin, ValidationTestModel, + "The value of 'prepopulated_fields' refers to 'best_friend', which must not be " + "a DateTimeField, a ForeignKey, a OneToOneField, or a ManyToManyField.", + 'admin.E028' + ) + class ListDisplayTests(CheckTestCase): -- cgit v1.2.1