Сомнения по поводу моделей Django primary_key и UniqueConstraint для составного первичного ключа

Обычно первичный ключ означает также уникальность (и больше условий, таких как not null и т.д.). Если у меня есть UniqueConstraint с 2 полями, включая первичный ключ, у меня есть 2 уникальных условия (одно из-за первичного ключа, другое из-за ограничения). Так что это не то же самое, что иметь составной первичный ключ с одним уникальным условием. Например, с таким кодом:

class MyClass (models.Model):
    field1=models.IntegerField(primary_key=True)
    field2=models.IntegerField()
    UniqueConstraint(fields=['field1', 'field2'], name='ConstraintName')

Могу ли я вставить эти значения (1,1) и (1,2), поскольку значение поля1 повторяется, а первичный ключ должен быть уникальным? В таком случае, каков реальный смысл первичного ключа в моделях Django? Разве он не подразумевает условие уникальности?

Большое спасибо и пожелания.

Вернуться на верх