我有一个表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
}