SQLAlchemy декларативный: таблица без каких-либо первичных ключей? - PullRequest
6 голосов
/ 23 января 2012

Как создать таблицу с использованием декларативного класса ORM без первичного ключа?Не удалось запустить, если я не сделал ни одного столбца primary_key = True.

1 Ответ

11 голосов
/ 25 января 2012

Ядро SQLAlchemy не жалуется на отсутствие первичного ключа, поэтому такую ​​таблицу можно создать с помощью Table(…). Но для разработки ORM требуется способ идентификации строки, соответствующей объекту, поэтому невозможно использовать таблицу без первичного ключа в ORM.

Зачем вам нужно добавить этот индекс позже? Это реальное требование или попытка решить какую-то проблему, которая, вероятно, может быть решена другим способом? Если вам нужен составной первичный ключ, его можно определить с помощью аргумента primary_key=True в нескольких Column с или указав PrimaryKeyConstraint(…) в __table_args__.

...