0

我有一个模型,它继承自 QSqlTableModel,我用数据库中的表填充。有时,我需要对数据进行研究:

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

self.modele.setQuery(self.query)

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

代理在这里研究表字段上的字符,查询在这里实现对几个连接表的研究。

我的问题是,有时我需要对以前的研究进行研究。那么,您知道如何将之前返回的结果设置为新模型吗?

4

1 回答 1

0

据我了解,与

我需要对以前的研究进行研究

你的意思是你想做嵌套查询: aselect嵌套在 a 中select。这是可能的py-sql:你select第一次在你的桌子上打电话。假设您将其命名为select: subselect。现在,您调用selectsubselect第一个查询表中选择行。这是来自py-sqldoc的示例。

    >>> 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 回答