Использование queryset для отображения двух отфильтрованных данных в django?

У меня есть таблица Documents и в ней есть поле с именем type и тип имеет два данных, а именно - type1 & type2

Теперь мои требования - у меня есть bootstrap tabs 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=...) будет рассматривать только один объект с этим пк, возможно, вы захотите изменить его на Documents.objects.filter(type=...). Затем вы можете сделать его более динамичным, перечислив возможные типы, а затем передавая отфильтрованные данные в шаблон, где ключом является тип.

doc_types = ("type1", "type2")
context = {
    doc_type: Documents.objects.filter(type=doc_type)
    for doc_type in doc_types
}
Вернуться на верх