2009-07-27 31 views
3

如何通過SQLAlchemy將新節點添加到使用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傳遞給觸發器?

回答

6

您可能想要查看SQLAlchemy的示例目錄中的nested sets example。這實現了Python級別的模型。

在觸發器的數據庫級別執行此操作需要某種方式來傳遞所需的父級,作爲額外的列或存儲過程。

+1

僅供參考,您的鏈接已死亡。移至:http://www.sqlalchemy.org/trac/browser/examples/nested_sets/nested_sets.py – Matt 2010-12-08 04:18:01