| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import django_filters
- from .models import Data, DataMs, TbFgPressinfoLotlist, LotSummary, DataRl, DataWb, \
- LotSummaryRl, LotSummaryWb, RotateData, Manualsize
- 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
- class RotateDataFilter(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 = RotateData
- fields = ['lot_no', 'code'] # Add fields you want to filter
- class ManualsizeFilter(django_filters.FilterSet):
- lotno = django_filters.CharFilter(field_name='lotno', lookup_expr='icontains')
- size_name = django_filters.CharFilter(field_name='size_name', lookup_expr='icontains')
- std = django_filters.NumberFilter(field_name='std')
- tolun = django_filters.NumberFilter(field_name='tolun')
- tolup = django_filters.NumberFilter(field_name='tolup')
- created_at = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='gte') # Filter for recent entries
- productcode = django_filters.CharFilter(field_name='productcode', lookup_expr='icontains')
- class Meta:
- model = Manualsize
- fields = ['lotno', 'size_name', 'std', 'tolun', 'tolup', 'created_at', 'productcode']
|