代码之家  ›  专栏  ›  技术社区  ›  Shard Brian Ellis

在同一视图中使用django查询中的数据

  •  1
  • Shard Brian Ellis  · 技术社区  · 16 年前

    在搜索文档时,我可能错过了一些东西——我似乎找不到一种方法来使用一个查询中的数据来形成另一个查询。

    我的疑问是:

    sites_list = Site.objects.filter(worker=worker)
    

    我想做这样的事:

    for site in sites_list:
        [Insert Query Here]
    

    编辑:我看到雨篷了,我不知道我是怎么弄不到的,也许是因为报名太晚了,编码:s

    2 回复  |  直到 16 年前
        1
  •  2
  •   Dan Lorenc    16 年前

    你可以很容易地做这样的事情:

    sites_list = Site.objects.filter(worker=worker)
    
    for site in sites_list:
        new_sites_list = Site.objects.filter(name=site.name).filter(something else)
    
        2
  •  0
  •   James Bennett    16 年前

    您也可以使用 __in 查找类型。例如,如果您有 Entry 模型与 Site ,你可以写:

    Entry.objects.filter(site__in=Site.objects.filter(...some conditions...))
    

    这将最终在数据库中执行一个查询(站点上的筛选条件将在 WHERE 条款)。