我有一个继承自QSqlTableModel的模型,我用数据库中的表填充。有时,我需要对数据进行研究:
self.query.prepare(requete)
self.query.exec_()
self.modele.setQuery(self.query)
self.proxy.setSourceModel(self.modele)
self.tableau.setModel(self.proxy)
代理在这里研究表格字段上的字符,查询是在这里对几个连接表进行研究。
我的问题是,有时我需要对以前的研究进行研究。那么,您是否知道如何将以前返回的结果设置为新模型?
答案 0 :(得分:0)
据我了解,
我需要对以前的研究进行研究
您的意思是要进行嵌套查询:select
嵌套在select
中。这可以通过py-sql
实现:您第一次在桌面上致电select
。假设您将此命名为select
:subselect
。现在,您在select
上调用subselect
以从第一个查询表中选择行。以下是from py-sql
doc的示例。
>>> 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,))