Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLalchemy:选择与另一个表具有多对多关系的所有行_Python_Database_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

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()函数的引用。。。我想知道是否有一个函数来实际计算行数?有最常见的查询运算符的文档