1
0
mirror of https://github.com/django/django.git synced 2025-01-08 01:15:47 +00:00

Refs #373 -- Errored when providing db_column to CompositePrimaryKey.

This commit is contained in:
Jacob Walls 2025-01-01 16:05:22 -05:00 committed by Sarah Boyce
parent 8d9901c961
commit 2a61b5f97c
2 changed files with 7 additions and 0 deletions

View File

@ -56,6 +56,8 @@ class CompositePrimaryKey(Field):
raise ValueError("CompositePrimaryKey cannot have a default.")
if kwargs.get("db_default", NOT_PROVIDED) is not NOT_PROVIDED:
raise ValueError("CompositePrimaryKey cannot have a database default.")
if kwargs.get("db_column", None) is not None:
raise ValueError("CompositePrimaryKey cannot have a db_column.")
if kwargs.setdefault("editable", False):
raise ValueError("CompositePrimaryKey cannot be editable.")
if not kwargs.setdefault("primary_key", True):

View File

@ -43,6 +43,11 @@ class CompositePKChecksTests(TestCase):
with self.assertRaisesMessage(ValueError, expected_message):
models.CompositePrimaryKey("tenant_id", "id", db_default=models.F("id"))
def test_composite_pk_cannot_have_a_db_column(self):
expected_message = "CompositePrimaryKey cannot have a db_column."
with self.assertRaisesMessage(ValueError, expected_message):
models.CompositePrimaryKey("tenant_id", "id", db_column="tenant_pk")
def test_composite_pk_cannot_be_editable(self):
expected_message = "CompositePrimaryKey cannot be editable."
with self.assertRaisesMessage(ValueError, expected_message):