3

Nested Set Modelを使用して実装されたツリーに SQLAlchemy で新しいノードを追加するにはどうすればよいですか?

class Category(Base):
    __tablename__ = 'categories'

    id = Column(Integer, primary_key=True)
    name = Column(String(128), nullable=False)
    lft = Column(Integer, nullable=False, unique=True)
    rgt = Column(Integer, nullable=False, unique=True)

新しいノードを割り当てlftrgt影響を受ける他のすべてのノードを更新するには、テーブルにトリガーが必要ですが、ノードの位置を定義する最良の方法は何ですか? 新しいノードの をコンストラクターに渡すことはできますが、それをトリガーにparent_id伝えるにはどうすればよいでしょうか?parent_id

4

1 に答える 1

6

SQLAlchemy のサンプル ディレクトリにあるネストされたセットの例を参照してください。これにより、モデルが Python レベルで実装されます。

トリガーを使用してデータベース レベルでこれを行うには、目的の親を追加の列またはストアド プロシージャとして通信する何らかの方法が必要になります。

于 2009-07-28T14:36:57.513 に答える