fix
This commit is contained in:
@@ -14,28 +14,32 @@ class OrderFilter(django_filters.FilterSet):
|
|||||||
)
|
)
|
||||||
project = django_filters.ModelMultipleChoiceFilter(
|
project = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='project',
|
field_name='project',
|
||||||
queryset=Project.objects.all()
|
queryset=Project.objects.all(),
|
||||||
|
method='filter_by_project_and_folder'
|
||||||
)
|
)
|
||||||
project_folder = django_filters.ModelMultipleChoiceFilter(
|
project_folder = django_filters.ModelMultipleChoiceFilter(
|
||||||
field_name='project_folder',
|
field_name='project_folder',
|
||||||
queryset=ProjectFolder.objects.all()
|
queryset=ProjectFolder.objects.all(),
|
||||||
|
method='filter_by_project_and_folder'
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Order
|
model = Order
|
||||||
fields = [
|
fields = ['wherehouse', 'project', 'project_folder', 'date']
|
||||||
'wherehouse', 'project', 'project_folder', 'date',
|
|
||||||
]
|
|
||||||
|
|
||||||
def filter_queryset(self, queryset):
|
|
||||||
queryset = super().filter_queryset(queryset)
|
|
||||||
|
|
||||||
project_ids = self.data.getlist('project')
|
def filter_by_project_and_folder(self, queryset, name, value):
|
||||||
folder_ids = self.data.getlist('project_folder')
|
project_ids = self.data.getlist('project')
|
||||||
|
folder_ids = self.data.getlist('project_folder')
|
||||||
|
|
||||||
if project_ids and folder_ids:
|
if project_ids and folder_ids:
|
||||||
queryset = queryset.filter(
|
return queryset.filter(
|
||||||
Q(project__in=project_ids) | Q(project_folder__in=folder_ids)
|
Q(project__in=project_ids) | Q(project_folder__in=folder_ids)
|
||||||
)
|
)
|
||||||
|
|
||||||
return queryset
|
if project_ids:
|
||||||
|
return queryset.filter(project__in=project_ids)
|
||||||
|
|
||||||
|
if folder_ids:
|
||||||
|
return queryset.filter(project_folder__in=folder_ids)
|
||||||
|
|
||||||
|
return queryset
|
||||||
Reference in New Issue
Block a user