Reputation: 591
Model:
class Thing(db.Model):
__tablename__ = 'things'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128))
type_id = db.Column(db.Integer, db.ForeignKey('types_of_things.id'))
class TypeOfThing(db.Model):
__tablename__ = 'types_of_things'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64))
number = db.Column(db.Integer)
things = db.relationship('Thing', backref='type', lazy='dynamic')
Try:
Thing.query.join(TypeOfThing).filter_by(Thing.type.number<=1).first()
cause:
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object associated with Thing.type has an attribute 'number'
Try:
Thing.query.join(TypeOfThing).filter_by(number<=1).first()
Cause:
NameError: name 'number' is not defined
Upvotes: 1
Views: 51
Reputation: 591
Seems like I need do it so:
Thing.query.join(TypeOfThing).filter(TypeOfThing.number<=1).first()
Upvotes: 1