2009-07-27 4 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

SQLAlchemy의 examples 디렉토리에서 nested sets example을 볼 수 있습니다. 이것은 Python 수준에서 모델을 구현합니다.

트리거를 사용하여 데이터베이스 수준에서 수행하면 원하는 부모를 여분의 열 또는 저장 프로 시저로 전달할 수있는 방법이 필요합니다.

+1

참고로 링크가 작동하지 않습니다. Moveded : http://www.sqlalchemy.org/trac/browser/examples/nested_sets/nested_sets.py – Matt

관련 문제