Exemplo n.º 1
0
class CityFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    state_name = filterset.CharFilter(field_name='state__name', lookup_expr=LIKE)

    class Meta:
        model = models.City
        fields = ['name', 'state_name']
Exemplo n.º 2
0
class BranchFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    district_name = filterset.CharFilter(field_name='district__name', lookup_expr=LIKE)

    class Meta:
        model = models.Branch
        fields = ['name', 'district_name']
Exemplo n.º 3
0
class StateFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    abbreviation = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.State
        fields = ['name', 'abbreviation']
Exemplo n.º 4
0
class SupplierFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    legal_document = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.Supplier
        fields = ['name', 'legal_document']
Exemplo n.º 5
0
class SaleFilter(filterset.FilterSet):
    customer = filterset.CharFilter(field_name='customer__name', lookup_expr=LIKE)
    employee = filterset.CharFilter(field_name='employee__name', lookup_expr=LIKE)
    branch = filterset.CharFilter(field_name='branch__name', lookup_expr=LIKE)

    class Meta:
        model = models.Sale
        fields = ['customer', 'employee', 'branch']
Exemplo n.º 6
0
class DistrictFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    city_name = filterset.CharFilter(field_name='city__name', lookup_expr=LIKE)
    zone_name = filterset.CharFilter(field_name='zone__name', lookup_expr=LIKE)

    class Meta:
        model = models.District
        fields = ['name', 'city_name', 'zone_name']
Exemplo n.º 7
0
class CustomerFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    gender = filterset.CharFilter(lookup_expr=LIKE)
    district = filterset.CharFilter(field_name='district__name', lookup_expr=LIKE)
    marital_status = filterset.CharFilter(field_name='marital_status__name', lookup_expr=LIKE)

    class Meta:
        model = models.Customer
        fields = ['name', 'gender', 'district', 'marital_status']
Exemplo n.º 8
0
class ProductFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    product_group = filterset.CharFilter(field_name='product_group__name', lookup_expr=LIKE)
    supplier = filterset.CharFilter(field_name='supplier__name', lookup_expr=LIKE)
    product_or_group = filterset.CharFilter(method='filter_product_or_group')

    @staticmethod
    def filter_product_or_group(queryset: QuerySet, name, value):
        return queryset.filter(Q(name__icontains=value) | Q(product_group__name__icontains=value))

    class Meta:
        model = models.Product
        fields = ['name', 'product_group', 'supplier', 'product_or_group']
Exemplo n.º 9
0
class DistrictFilterSet(filterset.FilterSet):
    city = filterset.CharFilter(lookup_expr=choices.LIKE,
                                field_name='city__name')

    class Meta:
        model = models.District
        fields = ['city']
Exemplo n.º 10
0
class EmployeeFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)
    gender = filterset.CharFilter(lookup_expr=LIKE)
    department = filterset.CharFilter(field_name='department__name', lookup_expr=LIKE)
    district = filterset.CharFilter(field_name='district__name', lookup_expr=LIKE)
    marital_status = filterset.CharFilter(field_name='marital_status__name', lookup_expr=LIKE)
    start_salary = filterset.NumberFilter(field_name='salary', lookup_expr='gte')
    end_salary = filterset.NumberFilter(field_name='salary', lookup_expr='lte')
    salary_in = NumberInFilter(field_name='salary', lookup_expr='in')

    class Meta:
        model = models.Employee
        fields = [
            'name', 'gender', 'department', 'district',
            'marital_status', 'start_salary', 'end_salary', 'salary_in'
        ]
Exemplo n.º 11
0
class MeansPaymentFilter(filterset.FilterSet):
    description = filterset.CharFilter(lookup_expr='icontains')
    active = filterset.BooleanFilter(widget=BooleanWidget)
    year = filterset.NumberFilter(field_name='created_at',
                                  lookup_expr='date__year')

    class Meta:
        model = models.MeansPayment
        fields = ['description', 'active', 'year']
Exemplo n.º 12
0
class CarShopFilterSet(filterset.FilterSet):
    """自定义店铺筛选器"""
    name = filterset.CharFilter(lookup_expr='startswith')
    minhot = filterset.NumberFilter(field_name='hot', lookup_expr='gte')
    maxhot = filterset.NumberFilter(field_name='hot', lookup_expr='lte')
    dist = filterset.NumberFilter(field_name='district')

    class Meta:
        model = CarShop
        fields = ('name', 'minhot', 'maxhot', 'dist')
Exemplo n.º 13
0
class EstateFilterSet(filterset.FilterSet):
    """自定义楼盘筛选器"""
    name = filterset.CharFilter(lookup_expr='contains')
    minhot = filterset.NumberFilter(field_name='hot', lookup_expr='gte')
    maxhot = filterset.NumberFilter(field_name='hot', lookup_expr='lte')
    dist = filterset.NumberFilter(field_name='district')

    class Meta:
        model = Estate
        fields = ('name', 'minhot', 'maxhot', 'dist')
Exemplo n.º 14
0
class ProductFilterSet(filterset.FilterSet):
    product_or_group = filterset.CharFilter(method='filter_product_or_group')

    def filter_product_or_group(selfself, queryset: QuerySet, name, value):
        return queryset.filter(
            Q(name__icontains=value)
            | Q(product_group__description__icontains=value))

    class Meta:
        model = models.Product
        fields = ['product_or_group']
Exemplo n.º 15
0
class ProductFilter(filterset.FilterSet):
    product_or_group = filterset.CharFilter(method='filter_product_or_group')

    @staticmethod
    def filter_product_or_group(queryset: QuerySet, name, value):
        return queryset.filter(
            Q(name__icontains=value) | Q(product_group__name__icontains=value))

    class Meta:
        model = models.Product
        fields = ['product_or_group']
Exemplo n.º 16
0
class EstateFilterSet(filterset.FilterSet):
    """重写父类方法,自定义筛选方式"""
    name = filterset.CharFilter(lookup_expr='startswith')
    minhot = filterset.NumberFilter(field_name='hot', lookup_expr='gte')
    maxhot = filterset.NumberFilter(field_name='hot', lookup_expr='lte')
    dist = filterset.NumberFilter(field_name='district')

    class Meta:
        # 指定哪一个模型做筛选
        model = Estate
        # 指定根据哪些字段搜索
        fields = ('name', 'minhot', 'maxhot', 'dist')
Exemplo n.º 17
0
class PokemonFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=FILTER_LIKE)
    types = filterset.ModelMultipleChoiceFilter(
        queryset=PokemonType.objects.all(),
        field_name='types__name',
        to_field_name='name',
        widget=CheckboxSelectMultiple(),
        label='PokemonType',
        label_suffix='',
    )

    class Meta:
        model = Pokemon
        fields = ['name', 'types']
Exemplo n.º 18
0
class HouseInfoFilter(filterset.FilterSet):
    """房屋过滤类"""
    min_price = filterset.NumberFilter(field_name='price', lookup_expr='gte')
    max_price = filterset.NumberFilter(field_name='price', lookup_expr='lte')
    area = filterset.CharFilter(method='filter_by_area')

    @staticmethod
    def filter_by_area(queryset, name, value):
        return queryset.filter(
            Q(county__startswith=value) | Q(street__startswith=value)
            | Q(xiaoqu__startswith=value))

    class Meta:
        model = HouseInfo
        fields = ('min_price', 'max_price', 'county')
Exemplo n.º 19
0
class HouseInfoFilterSet(filterset.FilterSet):
    """自定义房源筛选器"""
    title = filterset.CharFilter(lookup_expr='contains')
    minprice = filterset.NumberFilter(field_name='price', lookup_expr='gte')
    maxprice = filterset.NumberFilter(field_name='price', lookup_expr='lte')
    minarea = filterset.NumberFilter(field_name='area', lookup_expr='gte')
    maxarea = filterset.NumberFilter(field_name='area', lookup_expr='lte')
    district = filterset.NumberFilter(method='filter_by_district')

    @staticmethod
    def filter_by_district(queryset, name, value):
        return queryset.filter(Q(district_level2=value) |
                               Q(district_level3=value))

    class Meta:
        model = HouseInfo
        fields = ('title', 'minprice', 'maxprice', 'minarea', 'maxarea', 'type', 'district')
Exemplo n.º 20
0
class DistrictFilterSet(filterset.FilterSet):
    city = filterset.CharFilter(
        lookup_expr=choices.LIKE,
        field_name='city__name'
    )
    start = filterset.DateFilter(
        lookup_expr='date__gte',
        field_name='created_at'
    )
    end = filterset.DateFilter(
        lookup_expr='date__lte',
        field_name='created_at'
    )

    class Meta:
        model = models.District
        fields = ['city']
Exemplo n.º 21
0
class HouseInfoFilter(filterset.FilterSet):
    """房屋过滤类"""
    minprice = filterset.NumberFilter(field_name='price', lookup_expr='gte')
    maxprice = filterset.NumberFilter(field_name='price', lookup_expr='lte')
    minarea = filterset.NumberFilter(field_name='area', lookup_expr='gte')
    maxarea = filterset.NumberFilter(field_name='area', lookup_expr='lte')
    minmetro = filterset.NumberFilter(field_name='metro', lookup_expr='gte')
    maxmetro = filterset.NumberFilter(field_name='metro', lookup_expr='lte')
    area = filterset.CharFilter(method='filter_by_area')

    @staticmethod
    def filter_by_area(queryset, name, value):
        return queryset.filter(
            Q(city__startswith=value) | Q(county__startswith=value)
            | Q(street__startswith=value) | Q(comm_name__startswith=value)
            | Q(house_style__startswith=value))

    class Meta:
        model = HouseInfo
        fields = ('minmetro', 'maxmetro', 'minprice', 'maxprice', 'minarea',
                  'maxarea', 'area')
Exemplo n.º 22
0
class ProductFilter(filterset.FilterSet):
    name_or_detail_description = filterset.CharFilter(
        method='filter_name_or_detail_description')
    active = filterset.BooleanFilter(widget=BooleanWidget)
    price_start = filterset.NumberFilter(field_name='sale_price',
                                         lookup_expr='gte')
    price_end = filterset.NumberFilter(field_name='sale_price',
                                       lookup_expr='lte')
    sale_price = NumberInFilter(lookup_expr='in')
    id = NumberInFilter(lookup_expr='in')

    @staticmethod
    def filter_name_or_detail_description(queryset, name, value):
        return queryset.filter(
            Q(name__icontains=value) | Q(detail_description__icontains=value))

    class Meta:
        model = models.Product
        fields = [
            'active', 'price_start', 'price_end', 'sale_price',
            'name_or_detail_description', 'id'
        ]
Exemplo n.º 23
0
class SaleItemFilter(filterset.FilterSet):
    product = filterset.CharFilter(field_name='product__name', lookup_expr=LIKE)

    class Meta:
        model = models.SaleItem
        fields = ['product']
Exemplo n.º 24
0
class ZoneFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.Zone
        fields = ['name']
Exemplo n.º 25
0
class UserFilterSet(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=choices.LIKE)

    class Meta:
        model = models.User
        fields = ['name']
Exemplo n.º 26
0
class ProductGroupFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.ProductGroup
        fields = ['name']
Exemplo n.º 27
0
class UserFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=FILTER_EQUALS)

    class Meta:
        model = models.User
        fields = ['name']
Exemplo n.º 28
0
class MaritalStatusFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.MaritalStatus
        fields = ['name']
Exemplo n.º 29
0
class DepartmentFilter(filterset.FilterSet):
    name = filterset.CharFilter(lookup_expr=LIKE)

    class Meta:
        model = models.Department
        fields = ['name']