filters.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # coding=utf-8
  2. import django_filters
  3. from apps.base import clean_datetime_range
  4. from models import SaleOrder, GoodsDeliver
  5. class SaleOrderFilter(django_filters.FilterSet):
  6. create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
  7. no = django_filters.CharFilter(name='no', lookup_expr='icontains')
  8. cleared = django_filters.CharFilter(name='cleared')
  9. create_user = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
  10. customer_name = django_filters.CharFilter(name='customer__name', lookup_expr='icontains')
  11. customer_tel = django_filters.CharFilter(name='customer__mobile', lookup_expr='icontains')
  12. class Meta:
  13. model = SaleOrder
  14. fields = (
  15. 'create_time', 'no', 'customer_name', 'customer_tel',
  16. 'status', 'create_user', 'cleared'
  17. )
  18. def __init__(self, data=None, *args, **kwargs):
  19. data = clean_datetime_range(data, 'create_time', 'source')
  20. super(SaleOrderFilter, self).__init__(data, *args, **kwargs)
  21. class GoodsDeliverFilter(django_filters.FilterSet):
  22. no = django_filters.CharFilter(name='no', lookup_expr='icontains')
  23. create_user_text = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
  24. create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
  25. class Meta:
  26. model = GoodsDeliver
  27. fields = "__all__"
  28. def __init__(self, data=None, *args, **kwargs):
  29. data = clean_datetime_range(data, 'create_time', 'source')
  30. super(GoodsDeliverFilter, self).__init__(data, *args, **kwargs)
  31. class GoodsDeliverReturnFilter(django_filters.FilterSet):
  32. no = django_filters.CharFilter(name='no', lookup_expr='icontains')
  33. class Meta:
  34. model = GoodsDeliver
  35. fields = (
  36. 'no',
  37. )