Python SQLalchemy:选择与另一个表具有多对多关系的所有行
我有以下数据库设置Python SQLalchemy:选择与另一个表具有多对多关系的所有行,python,database,sqlalchemy,flask-sqlalchemy,Python,Database,Sqlalchemy,Flask Sqlalchemy,我有以下数据库设置 descriptors = db.Table('descriptors', db.Column('object_id', db.Integer, db.ForeignKey('object.id')), db.Column('descriptor_id', db.Integer, db.ForeignKey('descriptor.id')) ) class Descriptor(db.Model): id = db.Column(db.Integer,
descriptors = db.Table('descriptors',
db.Column('object_id', db.Integer, db.ForeignKey('object.id')),
db.Column('descriptor_id', db.Integer, db.ForeignKey('descriptor.id'))
)
class Descriptor(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(2000))
...
objects = db.relationship('Object', secondary=descriptors, backref=db.backref('descriptors'))
def __repr__(self):
return '<Descriptor %r>' % (self.id)
class Object(db.Model):
id = db.Column(db.Integer, primary_key=True)
...
def __repr__(self):
return '<Object %r>' % (self.id)
descriptors=db.Table('descriptors',
db.Column('object\u id',db.Integer,db.ForeignKey('object.id')),
db.Column('descriptor\u id',db.Integer,db.ForeignKey('descriptor.id'))
)
类描述符(db.Model):
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(2000))
...
objects=db.relationship('Object',secondary=descriptor,backref=db.backref('descriptor'))
定义报告(自我):
返回“”%(self.id)
类对象(db.Model):
id=db.Column(db.Integer,主键=True)
...
定义报告(自我):
返回“”%(self.id)
我想选择所有具有描述符的对象。这意味着我要在描述符表中选择所有具有对象id的对象。但是,由于我不能直接查询描述符表,我不太知道如何获取它?您可以在过滤器中使用任意运算符,例如:
session.query(Object).filter(Object.descriptors.any())
如果它有效,请接受它作为答案。非常感谢。是否有any()函数的引用。。。我想知道是否有一个函数来实际计算行数?有最常见的查询运算符的文档