Python SQLAlchemy通过外键检索没有相应对象的行
我已经尝试了许多不同的方法,包括exists、count/group by,但似乎无法使其正常工作 我有以下型号:Python SQLAlchemy通过外键检索没有相应对象的行,python,sqlalchemy,Python,Sqlalchemy,我已经尝试了许多不同的方法,包括exists、count/group by,但似乎无法使其正常工作 我有以下型号: class Image(db.Model): id = db.Column(db.Integer, primary_key=True) file_name = db.Column(db.String(128)) part_id = db.Column(db.Integer, db.ForeignKey('part.id')) class Part(db.Model): i
class Image(db.Model):
id = db.Column(db.Integer, primary_key=True)
file_name = db.Column(db.String(128))
part_id = db.Column(db.Integer, db.ForeignKey('part.id'))
class Part(db.Model):
id = db.Column(db.Integer, primary_key=True)
make = db.Column(db.String(128), default='')
model = db.Column(db.String(128), default='')
images = db.relationship('Image')
我正在尝试获取所有没有图像的部分。此代码无法正常工作:
p = db.session.query(Part, func.count(Image.id)).join(Image).group_by(Part).having(func.count(Image.id) == 0).all()
您可以使用来测试相关行的存在性。例如:
parts = session.query(Part).filter(~Part.images.any())
您可以使用来测试相关行的存在性。例如:
parts = session.query(Part).filter(~Part.images.any())
什么不起作用。您是否也可以发布ORM生成的sql?您是否尝试了
outerjoin
而不是join
?内部连接只返回那些有图像的部分。不起作用的部分。您是否也可以发布ORM生成的sql?您是否尝试了outerjoin
而不是join
?内部联接仅返回具有图像的部分。