代码之家  ›  专栏  ›  技术社区  ›  Roman Starkov

如何使用Django查询集选择多个?

  •  0
  • Roman Starkov  · 技术社区  · 15 年前

    A B ,其中 可以有多个 和它有关。给出一个查询集 对象,如何创建包含所有 与所有这些相关的对象 A

    queryableOfA.SelectMany(a => a.Bs)
    

    更好的例子是如何链接A->B->C,即以下LINQ:

    queryableOfA.SelectMany(a => a.Bs).SelectMany(b => b.Cs)
    

    C 与所有 A 对象通过 B )

    1 回复  |  直到 15 年前
        1
  •  4
  •   Roman Starkov    15 年前

    B.objects.filter(a__in=MyQueryset) 
    

    如果您想找到通过B到A相关的所有C对象,则需要通过双下划线语法来遵循这些关系。比如:

    C.objects.filter(b__a__in=MyAQueryset)
    
    推荐文章