Клиент настаивает на том, чтобы сделать редактируемый столбец первичным ключом таблицы - PullRequest
0 голосов
/ 07 сентября 2011

Я создаю веб-приложение на Django.Клиент настаивает на том, что какой-то столбец в некоторой таблице должен быть первичным ключом, он не хочет автоинкрементного.Но он также хочет, чтобы этот столбец был изменяемым в приложении, указывая, что Postgres может с этим справиться (предложение ON UPDATE CASCADE).Как я могу вывести его из этого, или, может быть, я должен согласиться на это?Он упрямый.

Редактировать: Я хочу знать, по крайней мере, вредно ли делать что-то, как он говорит, или каковы некоторые недостатки этого подхода.

1 Ответ

0 голосов
/ 08 сентября 2011

Это можно сделать из документов Django относительно auto pk :

Если вы хотите указать настраиваемый первичный ключ, просто укажите primary_key = True на одном изваши поля.Если Django увидит, что вы явно указали Field.primary_key, он не добавит столбец автоматического идентификатора.

Однако pk обычно используются для идентификации и поиска объекта.Управление ими вручную и обеспечение уникальности - это PITA, это не только их редактирование, но и необходимость представлять и уникальные, когда объект создается и сохраняется в БД, например.

...