0

QSqlTableModel から継承するモデルがあり、データベースのテーブルを入力します。場合によっては、データの調査を実施する必要があります。

self.query.prepare(requete)
self.query.exec_()

self.modele.setQuery(self.query)

self.proxy.setSourceModel(self.modele)
self.tableau.setModel(self.proxy)

プロキシは、テーブルのフィールドで char を調査するためにここにあり、クエリは、いくつかの結合されたテーブルで調査を実行するためにここにあります。

私の問題は、以前の研究に関する研究を実施する必要がある場合があることです。では、以前に返された結果を新しいモデルとして設定する方法を知っていますか?

4

1 に答える 1

0

私が理解している限りでは、

以前の研究に関する研究を実施する必要があります

ネストされたクエリを実行したいということです: a にselectネストされた a select. これは可能です:テーブルで初めてpy-sql呼び出します。これに:selectという名前を付けたとしましょう。ここで、最初にクエリを実行したテーブルから行を選択するように要求します。これはdocの例ですselectsubselectselectsubselectpy-sql

    >>> user_group = Table('user_group')

    >>> subselect = user_group.select(user_group.user,
    ...     where=(user_group.active == True))

    >>> user = Table('user')

    >>> tuple(user.select(user.id, where=(user.id.in_(subselect))))
    ('SELECT "a"."id" FROM "user" AS "a" WHERE ("a"."id" IN (SELECT "b"."user" 
      FROM "user_group" AS "b" 
      WHERE ("b"."active" = %s)))', (True,))

    >>> tuple(subselect.select(subselect.user))
    ('SELECT "a"."user" FROM (SELECT "b"."user" 
      FROM "user_group" AS "b" 
      WHERE ("b"."active" = %s)) AS "a"', (True,))
于 2013-05-11T20:22:49.910 に答える