0

私は、ユーザーが作業要求を入力し、続いて要求を検索できるアプリケーションに取り組んでいます。私が抱えている問題は、リクエストの概要画面を構築することです。基本的に、検索クエリの結果を一覧表示します。テンプレートのスニペットは次のとおりです。

        {% for req in workrequests %}
            {{ req.id }} {{ req.customer }} {{ req.dateEntered }} {{ req.Contact }}
        {% endfor %}

ここで私はハングアップします。req.customer フィールドと req.Contact フィールドは、顧客データベースと連絡先データベースの単なるキーです。顧客名と連絡先名を表示したい。次のクエリでうまくいくと思います。

        Customer.query.filter_by(req.customer).one()
        Contact.query.filter_by(req.Contact).one()

問題は、それがレコード全体を返すことです。これらの両方のテーブルの名前フィールドの直後に、テンプレートに入力しますが、ここに問題があります。これをどう進めたらいいのかわからない

4

1 に答える 1

1

Customer.queryの短縮形ですdb.session.query(Customer)。後者を使用して、特定の列を照会します。

db.session.query(Customer.name).filter_by(id=req.customer).one()

本当に必要なのは、すべてのデータを一度に取得する単一のクエリだと思いますが。何かのようなもの:

db.session.query(
    WorkRequest.id,
    WorkRequest.dateEntered,
    Customer.name,
    Contact.name
).join(
    Customer,
    Contact
).filter(...)
于 2013-01-22T16:00:52.977 に答える