SQLAlchemyで一般的なフィールドがどのように実装されているかを理解するのは本当に苦労しています。SQLAlchemy Generic Relationship単純な例
私はすべてのモデルタイプに関連するフィールドを含むPermissionsクラス/テーブルを持っています。
私は例を見てきましたし、このブログの記事http://techspot.zzzeek.org/2007/05/29/polymorphic-associations-with-sqlalchemy/
は、それが別のテーブルのない一般的な関係を持つことは可能ですか? object_typeとidを保存するだけですか?これらの行に沿ったもの:
class Permission(AbstractBase):
user = relationship("User", backref=backref('permissions'))
permission_type = column(String())
object = #The object the permission applies to, could be any type.
私はちょうど本当に簡単な例が分かると思います!
また、私はジャンゴの背景から来ています!
おかげ
「別のテーブルなし」とはどういう意味ですか?あなたのSQLスキーマの外観をよりよく定義できますか? –
申し訳ありませんが私は自分自身を明確にすべきでした。別のテーブルがなければ、私は一般的な関係を格納するための別のテーブルを持つことを意味しました。 – Charlie
これは、古いパターンの古いブログ記事ですが、最初の例である "どのようにレールがそれをする"は、ジャンゴのアプローチでもあります。余分なテーブルを必要とすることを避けるために、従来の外部キーの使い方は先決です。テーブルを保存するだけで間違ってスキーマを構築するのはなぜ重要なのですか? – zzzeek