首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用QSqlRelationaltableModel对PyQt进行过滤?

如何用QSqlRelationaltableModel对PyQt进行过滤?
EN

Stack Overflow用户
提问于 2013-09-10 10:35:41
回答 1查看 1.6K关注 0票数 0

下面是基于PyQt文档的以下代码:

代码语言:javascript
复制
  model = QSqlRelationalTableModel()
  model.setTable("employee")
  model.setRelation(2, QSqlRelation("city", "id", "name"))
  model.setRelation(3, QSqlRelation("country", "id", "name"))

第三条线将把所有的城市联系起来。我如何过滤关系,而不是模型本身?例如,我希望城市有名字('X')。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-03 17:59:46

您必须通过过滤关系引用的模型,但是可以直接调用它;在您的示例中:

代码语言:javascript
复制
    model.relationModel(2).setFilter("city like 'x'");

AFAIK,过滤器正在影响在此关系中实例化的表(模型)的“副本”,它不影响同一表的任何其他实例。

事实上,你可以拥有这样的东西:

代码语言:javascript
复制
    model.setRelation(2, QSqlRelation("city", "id", "name"))
    model.setRelation(4, QSqlRelation("city", "id", "name"))

    model.relationModel(2).setFilter("city like 'x'");
    model.relationModel(4).setFilter("city like 'y'");

关系(2)和(4)指向同一个表,但它们有两个不同的模型,每个模型都有自己的过滤器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18716637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档