Сомнения по поводу моделей 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? Разве он не подразумевает условие уникальности?
Большое спасибо и пожелания.