I have to query the relationships directly, since I have to display them seperatly.
task_user = db.Table(
'pimpy_task_user',
db.Column('task_id', db.Integer, db.ForeignKey('pimpy_task.id')),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'))
)
How do I do this in SQLAlchemy? When I try this:
tasks_rel = task_user.join(Task).join(User).filter(Task.group_id == group_id)
It causes this error:
AttributeError: 'Join' object has no attribute 'filter'
the usage you have above is creating a join() construct, which is a Core (non-ORM) construct representing a join() of two tables (but not a full blown select()).
when using the ORM you usually start off a SELECT using the Query object. Querying from the class itself is a pattern offered by extensions like flask-sqlalchemy, but these extensions are usually confusing in this regard. Given any class or table you can query against it using the Query object:
session.query(task_user).join(Task).join(User).filter(Task.group_id == group_id)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With