Я работаю над примером / обучающим блог-проектом, и у меня есть два класса в models.py
(см. Ниже) с именами Post и Comment. Post
содержит информацию о сообщении в блоге, а Comment
содержит ответы на каждое сообщение.
Models.py
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.Text)
title = 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'))
comments = db.relationship('Comment', backref='blogpost', lazy='dynamic')
class Comment(db.Model):
id = db.Column(db.Integer, primary_key=True)
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
reply = db.Column(db.String(500))
commentor = db.Column(db.String(64))
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
Я хотел бы запросить класс Post
, одновременно возвращая счетчик Comment.reply
в каждом сообщении в блоге.
Мой запрос в настоящее время к классу Post
выглядит следующим образом:
@app.route('/index')
def explore():
page = request.args.get('page', 1, type=int)
posts = Post.query.order_by(Post.timestamp.desc()).paginate(
page, app.config['POSTS_PER_PAGE'], False)
next_url = url_for('explore', page=posts.next_num) \
if posts.has_next else None
prev_url = url_for('explore', page=posts.prev_num) \
if posts.has_prev else None
return render_template("index.html", title='Explore', posts=posts.items,
next_url=next_url, prev_url=prev_url)
Вопрос: Как мне получить счет reply
на каждый Post
, используя Flask и SQLAlchemy?