From 816b8d9518c41f034dcbacfd1f1826f2366975e5 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Thu, 3 May 2018 11:38:29 +0430 Subject: Fixed #29358 -- Added a system check to prohibit models with more than one primary_key field. --- tests/invalid_models_tests/test_models.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/invalid_models_tests') diff --git a/tests/invalid_models_tests/test_models.py b/tests/invalid_models_tests/test_models.py index cfd1a7c465..2066d4ebae 100644 --- a/tests/invalid_models_tests/test_models.py +++ b/tests/invalid_models_tests/test_models.py @@ -717,6 +717,19 @@ class OtherModelTests(SimpleTestCase): ) ]) + def test_single_primary_key(self): + class Model(models.Model): + foo = models.IntegerField(primary_key=True) + bar = models.IntegerField(primary_key=True) + + self.assertEqual(Model.check(), [ + Error( + "Model can not contain more than one 'primary_key' field.", + obj=Model, + id='models.E026', + ) + ]) + @override_settings(TEST_SWAPPED_MODEL_BAD_VALUE='not-a-model') def test_swappable_missing_app_name(self): class Model(models.Model): -- cgit v1.3