2016-06-17 23 views
0

特定の書籍と同じカテゴリのすべての書籍を検索したい。今、私の質問には特定の本も含まれていますが、私はと他のの本しか望んでいません。特定の書籍をクエリから除外するにはどうすればよいですか?Python Flaskどのように特定の要素をクエリに含めるかsqlalchemy

@app.route('/book/<id>') 
def book(id): 
    return render_template(
     'book.html', 
     specific_book=Book.query.filter_by(id=id).first(), 
     category_books=Book.query.filter_by(category=(Book.query.filter_by(id=id).first()).category).limit(9) 
    ) 

答えて

1

このIDを除外するには、フィルタをクエリに追加します。

@app.route('/book/<id>') 
def book(id): 
    book = Book.query.get_or_404(id) 
    related = Book.query.filter(Book.id != id, Book.category == book.category) 
    return render_template('book.html', book=book, related=related) 

filter_by kwargsからは、現在の選択の属性に変換され等式フィルタのためだけのショートカットです。平等以外のもの(不等式など)が必要な場合は、通常のfilterメソッドを使用します。

これは、SQLAlchemyのドキュメント 'tutorial on queriesに記載されています。

関連する問題