在django中使用queryset来显示两个过滤的数据?



我有一个表Documents,它有一个名为type的字段,类型有两个数据,即-type1 & type2

现在我的要求是-我有一个引导选项卡type1 & type2,我需要在模板上相应地显示数据

哪一种方法更有效?

Using two variables
data = Documents.objects.filter(id=pk)
type1 = data.filter(type="type1")
type2 = data.filter(type="type2")
and then pass it to context 
context = { "type1":type1,"type2":type2 }

还有其他最好的方法吗?

似乎它们真的必须是不同的查询集,因为它们是要呈现的不同数据集。同样假设id是主键(看起来确实如此),注意Documents.objects.filter(id=pk).filter(type=...)的使用将只考虑具有该pk的1个对象,您可能希望将其更改为Documents.objects.filter(type=...)。然后,您可以通过列出可能的类型,然后将过滤后的数据传递给模板,从而使其更具动态性,其中关键字是该类型。

doc_types = ("type1", "type2")
context = {
doc_type: Documents.objects.filter(type=doc_type)
for doc_type in doc_types
}

相关内容

  • 没有找到相关文章

最新更新