Подтвердить что ты не робот

Компонентный/составной первичный/уникальный ключ с Django

Как вы можете создавать модели (и, следовательно, таблицы) с составным (составным) основным/уникальным ключом с помощью Django?

4b9b3361

Ответ 1

Django не поддерживает составные первичные ключи. Вы можете создать единственный уникальный уникальный ключ с Meta.unique_together.

Ответ 2

если вы хотите, чтобы только уникальные смешанные поля использовали нижеподробнее:

class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField()
    key2 = models.IntegerField()

Но если вы хотите, чтобы уникальные вместе и один из столбцов были первичными, установите аргумент primary для столбца модели, аналогичный приведенному ниже коду:

class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

    key1 = models.IntegerField(primary_key=True)
    key2 = models.IntegerField()

Ответ 3

Совокупный ключ состоит из более чем одного атрибута, позволяющего однозначно идентифицировать возникновение сущности. Это отличается от составного ключа тем, что один или несколько атрибутов, составляющих ключ, не являются простыми ключами по своему усмотрению.

Например, у вас есть база данных с вашей коллекцией компакт-дисков. Одно из объектов называется дорожками, в которых хранятся детали дорожек на компакт-диске. У этого есть составной ключ имени CD, номер трека.