我在SQLAlchemy中创建了一个多对多的自引用关系,如下所示:
blacklist_association_table = Table('userblacklist', Base.metadata,
Column('user_id', Integer, ForeignKey('user.id'), primary_key=True),
Column('blacklisted_id', Integer, ForeignKey('user.id'), primary_key=True)
)
class User(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name = Column(String(250), nullable=True)
blacklist = relationship("User",
secondary=blacklist_association_table,
primaryjoin=(id == blacklist_association_table.c.user_id),
secondaryjoin=(blacklist_association_table.c.blacklisted_id == id))
当我使用append
将项添加到blacklist
字段时,它会工作,新数据会提交到数据库
但是当我需要访问列表时,blacklist
字段是空的!!
i、 e
u = session.query(User).filter(User.id == userid).one_or_none()
print len(u.blacklist)
当数据存在于数据库中时,输出为0
有什么问题
你的意思是说
否则我认为你需要更多的背景
编辑
你能试试吗
从上面我可以看出你的代码是正确的。 您的意思是,您将从上面得到以下输出:
?
相关问题 更多 >
编程相关推荐