先週は、レガシーなOracleデータベースと格闘していた(文字エンコーディングの件もその一つ)。 __table__と__tablename__の違い __table__は適切に設定済みのテーブルに対して使うらしい。自分でごちゃごちゃと設定したい場合は__tablename__と__table_args__を使うべし How to override a column name in sqlalchemy using reflection and descriptive syntax 複合プライマリーキーでのone-to-many 主キーが複合プライマリーキーの場合はそれぞれにprimary_key=Trueをつけるが、外部キーで一対多の関連付けをしたい場合には __table_args__で外部キー設定をしておく。 class Protocol(Base): __tablename__ =