| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import django_filters
- from .models import Data, DataMs, TbFgPressinfoLotlist, LotSummary, DataRl, DataWb, \
- LotSummaryRl, LotSummaryWb
- class DataFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- r_type = django_filters.CharFilter(method='filter_r_type')
- class Meta:
- model = Data
- fields = ['lot_no', 'code', 'r_type'] # Add fields you want to filter
-
- def filter_r_type(self, queryset, name, value):
- # Split the comma-separated values into a list
- r_type_list = [v.strip() for v in value.split(',') if v.strip()]
- # Filter the queryset using the list
- return queryset.filter(**{f"{name}__in": r_type_list})
- class DataMsFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = DataMs
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class TbFgPressFilter(django_filters.FilterSet):
- productcode = django_filters.CharFilter(field_name='productcode', lookup_expr='icontains')
- product_year = django_filters.CharFilter(field_name='product_year', lookup_expr='icontains')
- class Meta:
- model = TbFgPressinfoLotlist
- fields = ['productcode', 'product_year'] # Add fields you want to filter
- class LotSummaryFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = LotSummary
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class DataRlFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = DataRl
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class DataWbFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = DataWb
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class LotSummaryRlFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = LotSummaryRl
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class LotSummaryWbFilter(django_filters.FilterSet):
- lot_no = django_filters.CharFilter(field_name='lot_no', lookup_expr='icontains')
- code = django_filters.CharFilter(field_name='code', lookup_expr='icontains')
- class Meta:
- model = LotSummaryWb
- fields = ['lot_no', 'code'] # Add fields you want to filter
|