私は、SQLalchemyモデルの主キーの名前をプログラム的に決定したいだけです。SQLAlchemyオブジェクトの主キーの名前を取得するにはどうすればよいですか?
34
A
答えて
35
SQLAlchemyバージョン0.8以降を使用する場合は、runtime inspection APIを使用してください。
モデルクラスがUser
で、唯一の主キーがid
であれば、
>>> from sqlalchemy.inspection import inspect
>>> inspect(User).primary_key[0].name
'id'
モデルクラスがUser
であり、多くの主キーがある場合は、SQLAlchemyのバージョンを使用して以下
>>> from sqlalchemy.inspection import inspect
>>> [key.name for key in inspect(User).primary_key]
['id', 'name']
の場合0.8より大きい場合は、代わりにclass_mapper()
関数を使用する必要があります。この場合
>>> from sqlalchemy.orm import class_mapper
>>> class_mapper(User).primary_key[0].name
'id'
、inspect()
機能とclass_mapper()
機能は同じオブジェクトを返すが、inspect()
を使用すると、より将来性です。
5
クラスは、 "ユーザー" である、とちょうど1主キーがあり、これを行う*場合は、次の質問から移動
User.__mapper__.primary_key._list[0].name
*。
0
宣言型モデルクラスがUser
であると仮定すると、持ってい
>>> list(User.__table__.primary_key)[0].name
'id'
それともMembership
のための複合主キー
>>> [pk.name for pk in Membership.__table__.primary_key]
['user_id', 'group_id']
関連する問題
- 1. Cassandraのすべてのレコードの主キーを取得するにはどうすればよいですか?
- 2. JDBCでMySQLの主キーの最大値を取得するにはどうすればよいですか?
- 3. モデルの名前またはDjangoオブジェクトのコンテンツタイプを取得するにはどうすればよいですか?
- 4. sqlalchemy(コア)のテーブルから主キー列名を取得
- 5. データセット(キー値ペア)から名前と値を取得するにはどうすればよいですか?
- 6. NSManagedObjectの主キーの値を取得するにはどうすればよいですか?
- 7. 表の列名を永続性のある主キーにするにはどうすればよいですか?
- 8. プロビジョニングプロファイルからコード署名IDの名前を取得するにはどうすればよいですか?
- 9. SQLAlchemyでは、複合主キーをどのように照会しますか?
- 10. インストールされている.msiファイルの名前を取得するにはどうすればよいですか?
- 11. TinyXMLでタグの名前を取得するにはどうすればよいですか?たとえば、
- 12. オブジェクトのキーと値のペアから値を取得するにはどうすればよいですか?
- 13. オブジェクトではなく外部キーの値を取得するにはどうすればよいですか?
- 14. SortedDictionaryから前のキーを取得するにはどうすればよいですか?
- 15. ini4j - 設定ですべてのキー名を取得するにはどうすればよいですか?
- 16. 他のテーブルの外部キーによって参照される主キーを取得するにはどうすればよいですか?
- 17. デバッガコンソールでNSDictionaryオブジェクトの値/キーを取得するにはどうすればよいですか?
- 18. SQLAlchemyは主キー列にどのような順序を使用しますか?
- 19. 実行時にADM2オブジェクトから名前または名前のリストを取得するにはどうすればよいですか?
- 20. Arrayストアビットから最初のarray1bitsの名前を取得するにはどうすればよいですか?
- 21. Androidローカルデバイスからのテキストタイプファイルの名前とパスを取得するにはどうすればよいですか?
- 22. roslynでプロジェクトのデフォルトの名前空間を取得するにはどうすればよいですか?
- 23. モカテストで現在のテストの名前を取得するにはどうすればよいですか?
- 24. ラベル内で実行中のバッチファイルの名前を取得するにはどうすればよいですか?
- 25. 特定の名前の列挙型で値を取得するにはどうすればよいですか?
- 26. 私のディレクティブでフォームの名前を取得するにはどうすればよいですか?
- 27. 実行時にパラメータの名前の型を取得するにはどうすればよいですか?
- 28. このJSONオブジェクトからアーティスト名の値を取得するにはどうすればよいですか?
- 29. 特定のliの以前のliクラス名を取得するにはどうすればよいですか?
- 30. キー値が0のオブジェクトを取得するにはどうすればよいですか?
このソリューションは、あなたのために働く場合、それはとしてあなたのソリューションを追加するために、完全に許容ですそれを「回答済み」とマークします。これは、人々が未回答の質問を探しているときに役立ちます。 –