Я пытаюсь создать запрос как:
SELECT Book.title, Opinion.body
FROM Book,Opinion
WHERE Opinion.book_id = Book.id
но в SQLAlchemy. Я хочу показать все мнения о книге и отобразить ее на веб-странице.
models.py:
class Opinion(db.Model):
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.String(140))
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
book_id = db.Column(db.Integer, db.ForeignKey('book.id'))
def __repr__(self):
return '<Post {}'.format(self.body)
class Book(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255), index=True)
description = db.Column(db.String(255))
author = db.Column(db.String(255))
pages = db.Column(db.Integer)
opinions = db.relationship('Opinion', lazy='dynamic')
Я могу создать запрос, который будет возвращен только для 1 книги, но не для всех.
Я попробовал это:
result = Opinion.query(Book.id, Opinion.body).filter_by(Opinion.book_id = Book.id).all()
Но это все еще не работает. Может ли кто-нибудь помочь мне с этим?