Обеспечение составного множественных ключей в Django - PullRequest
2 голосов
/ 23 января 2012

Мне нужно применить составной ключ на уровне базы данных .Составной ключ состоит из пяти столбцов.В django я могу создать псевдокомпозитный ключ с:

unique_together = ("col1", "col2", "col3", "col4", "col5")

Однако ВСЕ данные, вставляемые в таблицу, взяты из скрипта python вне django.Сценарий просто не будет работать, если этот составной первичный ключ не применяется (и я не хочу решать эту проблему на уровне сценария).

Как бы я решил эту проблему, или django просто не подходит для этого здесь?

Обновление: Я вижу из комментариев, что это is применяется на уровне базы данных.Есть также способ избавиться от первичного ключа с автоинкрементом здесь?Обратите внимание, что ни один из столбцов сам по себе никогда не будет уникальным.

1 Ответ

6 голосов
/ 23 января 2012

Вы можете использовать unique_together для этого.

Из документов Django на уникально вместе документов (мой акцент):

Это списоксписков полей, которые должны быть уникальными при рассмотрении вместе.Он используется в администраторе Django и применяется на уровне базы данных (т. Е. Соответствующие операторы UNIQUE включены в оператор CREATE TABLE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...