django -фильтровать и подсчитывать объекты - PullRequest
0 голосов
/ 07 августа 2020

Я использую django -filter для фильтрации набора запросов на основе полей модели внешнего ключа, и я хочу подсчитать количество объектов для каждого поля в отфильтрованном наборе запросов ...

models.py

class MyModel(models.Model):
    .
    .
    field1 = models.ForeignKey(Model1)
    field2 = models.ForeignKey(Model2)
    field3 = models.ForeignKey(Model3)
    field4 = models.ManyToManyField(Model4)
    .
    .

Filters.py

class MyFilter(django_filters.FilterSet):

    field1 = django_filters.ModelMultipleChoiceFilter(widget=forms.CheckboxSelectMultiple, queryset = Model1.objects.all())      
    field2 = django_filters.ModelMultipleChoiceFilter(widget=forms.CheckboxSelectMultiple, queryset = Model2.objects.all())        
    field3 = django_filters.ModelMultipleChoiceFilter(widget=forms.CheckboxSelectMultiple, queryset=Model3.objects.all())        
    field4 = django_filters.ModelMultipleChoiceFilter(widget=forms.CheckboxSelectMultiple, queryset= Model4.objects.all())

    class Meta:
        model = MyModel             
        fields = ['field1','field2','field3','field4']

views.py

def MyView(request):    
  filtered_data = MyFilter(request.Get, queryset = MyModel.objects.all())
  filtered_queryset_data = filtered_data.qs
  .
  .

хотите произвести подсчет на основе набора данных, хранящихся в файлах.

Поле1

  • ✓ checkbox1 (count)
  • ✓ checkbox2 ( count)
  • ✓ checkbox3 (count)
  • ✓ checkbox4 (count)

Поле2

  • ✓ checkbox1 (количество)
  • ✓ checkbox2 (count)
  • ✓ checkbox3 (count)
  • ✓ checkbox4 (count )

Как лучше всего это сделать? Любая помощь будет принята с благодарностью. Спасибо

...