Hug*_*ugo 38 python sqlalchemy
我想使用声明方法和SQLAlchemy映射Tag实体.标签可以有父(另一个标签).
我有:
class Tag(Base):
__tablename__ = 'tag'
id = Column(Integer, primary_key=True)
label = Column(String)
def __init__(self, label, parentTag=None):
self.label = label
Run Code Online (Sandbox Code Playgroud)
如何添加"父母"关系?
谢谢
Ant*_*sma 70
您添加引用父项的外键,然后创建一个通过远程端指定方向的关系.这在邻接列表关系中记录.对于声明,你可以这样做:
class Tag(Base):
__tablename__ = 'tag'
id = Column(Integer, primary_key=True)
label = Column(String)
parent_id = Column(Integer, ForeignKey('tag.id'))
parent = relationship('Tag', remote_side=[id])
Run Code Online (Sandbox Code Playgroud)
如果您还想要反向关系,请将backref ="children"添加到关系定义中.
如果您需要孩子,您需要使用uselist:
class Tag(Base):
__tablename__ = 'tag'
id = Column(Integer, primary_key=True)
label = Column(String)
child_id = Column(Integer, ForeignKey('tag.id'))
children = relation('Tag', remote_side=[id], uselist=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17664 次 |
| 最近记录: |