59 votes

Comment obtenir le nom de la clé primaire d'un objet SQLAlchemy ?

Je veux juste déterminer par programme le nom de la clé primaire d'un modèle SQLalchemy.

9voto

Bill the Lizard Points 147311

Si la classe est "Utilisateur", et qu'il n'y a qu'une seule clé primaire, faites ceci* :

 User.__mapper__.primary_key._list[0].name

*Déplacé de la question.

2voto

Frozen Flame Points 2697

En supposant que la classe du modèle déclaratif est User ,

 >>> list(User.__table__.primary_key)[0].name
'id'

Ou pour Membership qui a une clé primaire composite

 >>> [pk.name for pk in Membership.__table__.primary_key]
['user_id', 'group_id']

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X