2009-07-27 11 views
3

Nested Set Modelを使用して実装されたツリーに新しいノードをSQLAlchemyで追加する方法を教えてください。入れ子セットモデルと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をトリガに通信するでしょうか?

答えて

6

nested sets exampleは、SQLAlchemyのexamplesディレクトリにあります。これは、Pythonレベルでモデルを実装します。

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

+1

参考までに、あなたのリンクは死んでいます。移動先:http://www.sqlalchemy.org/trac/browser/examples/nested_sets/nested_sets.py – Matt

関連する問題