我有一个名为Group
的表格,其中包含许多Person
到groups_people
。这是Group
表的一部分:
class Group:
...
...
people = db.relationship('Person', secondary=groups_people,
backref=db.backref('groups', lazy='dynamic'))
这是我的groups_people
表:
groups_people = db.Table('groups_people',
db.Column('group_id', db.Integer(), db.ForeignKey('group.id')),
db.Column('person_id',db.Integer(), db.ForeignKey('person.id')))
我的class Person
表中没有列出任何组关系。
这一切都有效,但当我致电group.people
时,它会返回InstrumentedList
。我想对people
的所有group
运行查询。我不能。
如何针对people
的{{1}}运行过滤查询?或者:如何让它返回我可以查询的对象?
答案 0 :(得分:2)
您的背光标记为lazy='dynamic'
,您需要以这种方式标记关系。
class Group(db.Model):
...
people = db.relationship(Person, lambda: groups_people, lazy='dynamic',
backref=db.backref('groups', lazy='dynamic'))
...