クラスマッピングを使用して単一テーブルの継承を行う方法の例が見つかりました。SqlAlchemy単一テーブル継承の従来のマッパーの例が必要
http://docs.sqlalchemy.org/en/latest/orm/inheritance.html#single-table-inheritance
しかし、私の人生のために、私は別の私のクラスと永続的なマッピングを維持できるように、古典的なマッパーでこれを行う方法の例を見つけることができません。
このサンプルを古典的なマッピングに変換するにはどうすればよいですか?私はテーブルを作成する上で、実際にマッパーをどのように構築するかは分かりません。
例では、定義された以下の種類があります。
class Employee(Base):
class Manager(Employee):
class Engineer(Employee):
私は適切なテーブルを作成したと仮定:
employee = Table(...Column(type...))
私はマッパーのためのコードを書くにはどうすればよいの両方のマネージャーになるようにエンジニアはタイプ(「マネージャ」、「エンジニア」など)によって差別化された同じテーブル(単一テーブル継承)に住んでいますか?
ありがとうございました。
あなたの注意がうまくいっています。この例を自分のクラスに適用すると、このプロセスがいかに面倒になるかがわかります。 –
宣言は、単一テーブルの継承のためにテーブルとマッパーを少し違った方法で作成するように見えますが、サブクラスを追加するときにテーブルを段階的に定義できるようです。 docsの例では、 'exclude_properties'が使用される唯一の時間は' managerer'です。* manager_data *は除きます。私は手動でそれをよりよくエミュレートする方法を見てみましたが、まだ方法を見つけることができませんでした。おそらくこの答えは将来的に改善されるかもしれません。それでも、除外すべきものと、より大きな階層のテーブルに追加するものを追跡する必要があります。 –