兩個型號如下:瓶:如何檢查一個一對多backref的存在
class Comment(db.Model):
__tablename__ = 'comments'
id = db.Column(db.Integer, primary_key=True)
author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
class User(db.Model, UserMixin):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
comments = db.relationship('Comment', backref='author', lazy='dynamic')
user = User.query.get_or_404(id)
確保用戶存在,並沒有發表任何評論。
然後在模板文件
{% if user.comments %}
do stuff
{% else %}
no comments yet
{% endif %}
的如果其他條件都不能去else分支。
如果我使用的代碼如下:
comments = Comment.query.filter_by(author_id=user.id).all()
{% if comments %}
do stuff
{% else %}
no comments yet
{% endif %}
它可以輸出
no comments yet
爲什麼不user.comments作品?
嘗試在將python代碼傳遞給模板文件之前,在您的python代碼中打印user.comments。 – stamaimer