1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #coding=utf-8
- import django_filters
- from apps.base import clean_datetime_range, clean_date_range
- from models import ProductionPlan, SalePlan, ProductionDemand
- class ProductionDemandFilter(django_filters.FilterSet):
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- demand_date = django_filters.DateFromToRangeFilter(field_name='demand_date')
- no = django_filters.CharFilter(name='no', lookup_expr='icontains')
- cleared = django_filters.CharFilter(name='cleared')
- create_user = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
- customer_name = django_filters.CharFilter(name='customer__name', lookup_expr='icontains')
- customer_tel = django_filters.CharFilter(name='customer__mobile', lookup_expr='icontains')
- class Meta:
- model = ProductionDemand
- fields = (
- 'create_time', 'no', 'customer_name', 'customer_tel',
- 'status', 'create_user', 'demand_date'
- )
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time', 'source')
- data = clean_date_range(data, 'demand_date')
- super(ProductionDemandFilter, self).__init__(data, *args, **kwargs)
- class ProductionPlanFilter(django_filters.FilterSet):
- no = django_filters.CharFilter(name='no',lookup_expr='icontains')
- name = django_filters.CharFilter(name='name', lookup_expr='icontains')
- status = django_filters.CharFilter(name='status')
- create_user_text = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
- class Meta:
- model = ProductionPlan
- fields = (
- 'no', 'name', 'status', 'create_user_text'
- )
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time')
- super(ProductionPlanFilter, self).__init__(data, *args, **kwargs)
- class SalePlanFilter(django_filters.FilterSet):
- no = django_filters.CharFilter(name='no',lookup_expr='icontains')
- customer_text = django_filters.CharFilter(name='customer__name', lookup_expr='icontains')
- create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
- class Meta:
- model = SalePlan
- fields = "__all__"
- def __init__(self, data=None, *args, **kwargs):
- data = clean_datetime_range(data, 'create_time', 'source')
- super(SalePlanFilter, self).__init__(data, *args, **kwargs)
|