我是 Sqlalchemy 新手,需要一些帮助。
我有一个模型,具有一对多关系:
class Metnadev(DeclarativeBase):
__tablename__ = 'metnadev'
#personal info
id = Column(Integer, autoincrement=True, primary_key=True)
first_name = Column(Unicode(255))
last_name = Column(Unicode(255))
birth_day = Column(Date)
activitys = relationship("Activity", backref="metnadev")
class Activity(DeclarativeBase):
__tablename__ = 'activity'
id = Column(Integer, autoincrement=True, primary_key=True)
metnadev_id = Column(Integer, ForeignKey('metnadev.id'))
location = Column(Unicode(255))
visible = Column(Boolean,default=True)
当我这样做的时候
metnadev = DBSession.query(Metnadev).filter_by(id=kw['id']).one()
我和 child 一起得到了这个东西,太棒了。 我想获取对象,但只获取子类中的行,其中 visible == True
我搜索过,但不知道该怎么做, 感谢您的帮助
最佳答案
文档的这一部分有您的答案:http://docs.sqlalchemy.org/en/rel_0_6/orm/relationships.html#building-query-enabled-properties
class Metnadev(DeclarativeBase):
#...
@property
def activities(self):
return object_session(self).query(Activity).filter_by(visible=True).with_parent(self).all()
关于python - Sqlalchemy - 如何获取对象,并过滤子类中的哪些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13821837/