【发布时间】:2020-01-24 21:51:37
【问题描述】:
我正在尝试添加一个新列,我需要根据 FilterSet 中的其他模型对其进行一些操作。
我的看法是这样的:
class FilteredListView(ListView):
filterset_class = None
def get_queryset(self):
queryset = super().get_queryset()
self.filterset = self.filterset_class(self.request.GET, queryset=queryset)
return self.filterset.qs.distinct()
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['filterset'] = self.filterset
querysetPaises = Pais.objects.all().filter(paisActivo=1).order_by('nombrePais')
context['paises']=querysetPaises
return context
class ListadoPartnerView(FilteredListView):
filterset_class = PartnerFilter
paginate_by = 10
model = IngresosPersonas
fields = ['idPlataforma', 'number_plataforma', 'contactoinfo']
template_name = 'usuarios/listadoPartners.html'
我的过滤器是:
class PartnerFilter(django_filters.FilterSet):
class Meta:
model = IngresosPersonas
fields = ['idPlataforma', 'number_plataforma']
基本上我想在模板接收的过滤器集中包含一个新列,该列未包含在模型中。
我尝试访问 filterset.qs 但没有成功
非常感谢
【问题讨论】:
-
如果我在 filterset_class.model.objects.all() 中为 obj 做: print(obj) 我得到错误类型对象 'PartnerFilter' has no attribute 'model'
-
我不确定上下文,但我认为您要查找的是
filterset_class.objects.all()而不是filterset_class.model.objects.all() -
不幸的是类型对象'PartnerFilter'没有属性'objects'
标签: python django django-models filter