SQLAlchemy通过外键检索没有相应对象的行

时间:2019-03-05 20:34:00

标签: python sqlalchemy

我已经尝试了多种变体,包括存在,计数/分组,并且似乎无法使其正常工作。

我有以下模型:

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()

1 个答案:

答案 0 :(得分:0)

您可以使用any()测试相关行的存在。例如:

parts = session.query(Part).filter(~Part.images.any())