Ответ 1
Если вы используете SQLAlchemy версии 0.8 или новее, вы должны использовать API проверки выполнения во время выполнения.
Если класс модели User
, а единственный первичный ключ - id
,
>>> from sqlalchemy.inspection import inspect
>>> inspect(User).primary_key[0].name
'id'
Если класс модели User
и существует много первичных ключей,
>>> from sqlalchemy.inspection import inspect
>>> [key.name for key in inspect(User).primary_key]
['id', 'name']
Если используется версия SQLAlchemy менее 0,8, вы должны использовать функцию class_mapper()
.
>>> from sqlalchemy.orm import class_mapper
>>> class_mapper(User).primary_key[0].name
'id'
В этом случае функция inspect()
и функция class_mapper()
возвращают один и тот же объект, но использование inspect()
более надежное будущее.