fix: 修改mio查询条件以支持materials为空的情况
This commit is contained in:
parent
1d2f9f09eb
commit
30dbeacdd0
|
@ -1,5 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.inm.models import MaterialBatch, MIO
|
from apps.inm.models import MaterialBatch, MIO
|
||||||
|
from django.db.models import Q
|
||||||
|
|
||||||
|
|
||||||
class MaterialBatchFilter(filters.FilterSet):
|
class MaterialBatchFilter(filters.FilterSet):
|
||||||
|
@ -32,10 +33,10 @@ class MioFilter(filters.FilterSet):
|
||||||
|
|
||||||
def filter_materials__type(self, queryset, name, value):
|
def filter_materials__type(self, queryset, name, value):
|
||||||
if value:
|
if value:
|
||||||
return queryset.filter(materials__type=value).distinct()
|
return queryset.filter(Q(materials__type=value) | Q(materials__isnull=True)).distinct()
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def filter_materials__type__in(self, queryset, name, value):
|
def filter_materials__type__in(self, queryset, name, value):
|
||||||
if value:
|
if value:
|
||||||
return queryset.filter(materials__type__in=value.split(',')).distinct()
|
return queryset.filter(Q(materials__type__in=value.split(',')) | Q(materials__isnull=True)).distinct()
|
||||||
return queryset
|
return queryset
|
||||||
|
|
Loading…
Reference in New Issue