返回结果查询

2024-06-28 19:19:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

self.modele.setQuery(self.query)

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

代理在这里研究表字段上的字符,查询在这里实现对多个联接表的研究。你知道吗

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


Tags: 数据模型self数据库queryprepareproxyexec
1条回答
网友
1楼 · 发布于 2024-06-28 19:19:57

据我所知

I need to effectuate a research ON the previous research

你的意思是你想做嵌套查询:嵌套在select中的select。这可以通过py-sql实现:您第一次在表中调用select。假设您将此命名为selectsubselect。现在,调用selecton subselect从第一个查询的表中选择行。下面是一个例子from ^{} 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,))

相关问题 更多 >