filters.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. create_user = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
  9. customer_name = django_filters.CharFilter(name='customer__name', lookup_expr='icontains')
  10. customer_tel = django_filters.CharFilter(name='customer__mobile', lookup_expr='icontains')
  11. class Meta:
  12. model = SaleOrder
  13. fields = (
  14. 'create_time', 'no', 'customer_name', 'customer_tel',
  15. 'status', 'create_user'
  16. )
  17. def __init__(self, data=None, *args, **kwargs):
  18. data = clean_datetime_range(data, 'create_time', 'source')
  19. super(SaleOrderFilter, self).__init__(data, *args, **kwargs)
  20. class GoodsDeliverFilter(django_filters.FilterSet):
  21. no = django_filters.CharFilter(name='no', lookup_expr='icontains')
  22. create_user_text = django_filters.CharFilter(name='create_user__name', lookup_expr='icontains')
  23. create_time = django_filters.DateTimeFromToRangeFilter(field_name='create_time')
  24. class Meta:
  25. model = GoodsDeliver
  26. fields = "__all__"
  27. def __init__(self, data=None, *args, **kwargs):
  28. data = clean_datetime_range(data, 'create_time', 'source')
  29. super(GoodsDeliverFilter, self).__init__(data, *args, **kwargs)
  30. class GoodsDeliverReturnFilter(django_filters.FilterSet):
  31. no = django_filters.CharFilter(name='no', lookup_expr='icontains')
  32. class Meta:
  33. model = GoodsDeliver
  34. fields = (
  35. 'no',
  36. )