class FlatFilter(filters.FilterSet): cost = filters.RangeFilter() square = filters.RangeFilter() developer = NumberInFilter(field_name='house__developer', lookup_expr='in') wall_material = NumberInFilter(field_name='house__wall_material', lookup_expr='in') residential_complex = NumberInFilter( field_name='house__residential_complex', lookup_expr='in') street = NumberInFilter(field_name='house__street', lookup_expr='in') flat_type = NumberInFilter(field_name='flat_type', lookup_expr='in') district = NumberInFilter(field_name='house__street__district', lookup_expr='in') house = NumberInFilter(field_name='house') flat_id = filters.NumberFilter(field_name='id', exclude=True) id = NumberInFilter(field_name='id', lookup_expr='in') class Meta: model = Flat fields = { 'id', 'cost', 'square', 'house__developer', 'house__wall_material', 'house__street', 'house__street__district', 'flat_type', 'house', }
class StoreFilter(filters2.FilterSet): latitude = filters2.RangeFilter() longitude = filters2.RangeFilter() class Meta: model = Store fields = ['latitude', 'longitude']
class Meta: model = CollectPoint fields = [ 'contient', 'island_group', 'island', 'country', 'state_provice', 'county', 'municipality', 'verbatim_locality', 'japanese_place_name', 'japanese_place_name_detail', 'minimum_elevation', 'maximum_elevation', 'minimum_depth', 'maximum_depth', 'note', 'created_at' ] property_fields = [('longitude', PropertyRangeFilter, ['range']), ('latitude', PropertyRangeFilter, ['range'])] minimum_elevation = filters.RangeFilter(field_name='minimum_elevation') maximum_elevation = filters.RangeFilter(field_name='maximum_elevation') minimum_depth = filters.RangeFilter(field_name='minimum_depth') maximum_depth = filters.RangeFilter(field_name='maximum_depth') filter_overrides = { models.CharField: { 'filter_class': filters.CharFilter, 'extra': lambda f: { 'lookup_expr': 'icontains', }, }, models.TextField: { 'filter_class': filters.CharFilter, 'extra': lambda f: { 'lookup_expr': 'icontains', }, }, models.DateTimeField: { 'filter_class': filters.DateTimeFilter, 'extra': lambda f: { 'lookup_expr': 'date', } }, }
class PlatformFilter(filters.FilterSet): year = filters.RangeFilter() price = filters.RangeFilter() class Meta: model = Platform fields = [ 'year', 'price']
class ProfileFilter(filters.FilterSet): height = filters.RangeFilter(field_name='weight') weight = filters.RangeFilter(field_name='height') class Meta: model = Profile fields = ['id', 'address', 'height', 'weight', 'favourite_color']
class LikeFilter(filters.FilterSet): date_start = filters.RangeFilter() date_to = filters.RangeFilter() class Meta: model = Like fields = ['date_start', 'date_to']
class OrderDetailFilter(filters.FilterSet): unit_price = filters.RangeFilter(field_name='unit_price') qty = filters.RangeFilter(field_name='qty') sub_total = filters.RangeFilter(field_name='sub_total') class Meta: model = OrderDetail fields = ['id', 'order', 'catalog', 'unit_price', 'qty', 'sub_total']
class ITModelFilter(filters.FilterSet): network_ports = filters.RangeFilter() power_ports = filters.RangeFilter() memory = filters.RangeFilter() class Meta: model = ITModel fields = ['network_ports', 'power_ports', 'memory', 'type']
class ProductReviewFilters(filters.FilterSet): author_id = filters.RangeFilter() product_id = filters.RangeFilter() created_at = filters.DateFilter() class Meta: model = ProductReview fields = ("author_id", "product_id", "created_at")
class TaxlotDataFilter(filters.FilterSet): year = filters.NumberFilter() year_range = filters.RangeFilter(name='year') total_value = filters.RangeFilter() percent_change = filters.RangeFilter() class Meta: model = TaxlotData fields = ('year','year_range','total_value','percent_change')
class WatchlistMovieFilter(filters.FilterSet): genres = CharFilterInFilter(field_name='movie__genres__url', lookup_expr='in') rate = CharFilterInFilter(field_name='movie__certificate__url', lookup_expr='in') platforms = CharFilterInFilter(field_name='movie__streaming__slug', lookup_expr='in') imdb = filters.RangeFilter(field_name='movie__imdb__point', lookup_expr='in') year = filters.RangeFilter(field_name='movie__year', lookup_expr='in') class Meta: model = WatchlistTime fields = ['genres', 'rate', 'platforms', 'imdb', 'year'] # , 'production']
class CatalogFilter(filters.FilterSet): stock = filters.RangeFilter(field_name='stock') unit_price = filters.RangeFilter(field_name='unit_price') class Meta: model = Catalog fields = [ 'id', 'sku', 'name', 'category', 'size', 'color', 'unit_price', 'stock' ]
class MovieFilter(filters.FilterSet): genres = CharFilterInFilter(field_name='genres__url', lookup_expr='in') rate = CharFilterInFilter(field_name='certificate__url', lookup_expr='in') platforms = CharFilterInFilter(field_name='streaming__slug', lookup_expr='in') imdb = filters.RangeFilter(field_name='imdb__point', lookup_expr='in') year = filters.RangeFilter() class Meta: model = Movie fields = ['genres', 'rate', 'platforms', 'imdb', 'year']
class EventsAtVenueFilter(filters.FilterSet): lng = filters.RangeFilter() lat = filters.RangeFilter() id = filters.NumberFilter class Meta: model = Venue fields = ['lat','lng', 'id']
class CustomFilter(filters.FilterSet): """ Custom Filter """ price = filters.RangeFilter() created_at = filters.RangeFilter() updated_at = filters.RangeFilter() product = CharFilter(field_name='product__title', lookup_expr='icontains') class Meta: model = Custom fields = ('price', 'created_at', 'updated_at', 'product')
class ProductFilter(drf_filters.FilterSet): price = drf_filters.RangeFilter() rating = drf_filters.RangeFilter() title = CharFilterDef(field_name = 'title', lookup_expr='in') in_title = drf_filters.CharFilter(field_name = 'title', lookup_expr='contains') in_desc = drf_filters.CharFilter(field_name = 'desc', lookup_expr='contains') category = drf_filters.BaseInFilter(field_name = 'cid__pk', lookup_expr='in') class Meta: model = Product fields = ['price', 'rating', 'title', 'in_title', 'in_desc', 'category',]
class ProductFilter(filters.FilterSet): name = filters.CharFilter(lookup_expr='icontains') price = filters.RangeFilter() volume = filters.RangeFilter() alcohol = filters.RangeFilter() alcohol_price = filters.RangeFilter() category = filters.ModelMultipleChoiceFilter( queryset=Category.objects.all()) class Meta: model = Product fields = ()
class ComplaintFilter(filters.FilterSet): timestamp = filters.DateTimeFromToRangeFilter(name='timestamp') latitude = filters.RangeFilter(name='latitude') longitude = filters.RangeFilter(name='longitude') # time = filters.TimeRangeFilter(name='timestamp') # timestamp__gte = filters.DateTimeFilter(name='timestamp', lookup_expr='timestamp__gte') # timestamp__lte = filters.DateTimeFilter(name='timestamp', lookup_expr='timestamp__lte') class Meta: model = Complaint fields = ['owner', 'category', 'sub_category']
class BookingStatusesFilter(filters.FilterSet): id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact") id_range = filters.RangeFilter(name="id", label="ID Between") status = filters.CharFilter(name="status", label="Booking Status", lookup_expr='icontains') status_null = filters.BooleanFilter(name="status", label="Is Booking Status Null", lookup_expr="isnull") time_limit = filters.NumberFilter(name="time_limit", label="Time Limit", lookup_expr="exact") time_limit_range = filters.RangeFilter(name="time_limit", label="Time Limit Between") created_on = filters.DateTimeFilter(name="created_on", label="Created on", lookup_expr="date") created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between") class Meta: model = BookingStatuses fields = []
class EventsAtRegionFilter(filters.FilterSet): lng_tl = filters.RangeFilter() lat_tl = filters.RangeFilter() lng_br = filters.RangeFilter() lat_br = filters.RangeFilter() id = filters.NumberFilter class Meta: model = Region fields = ['lat_tl','lng_tl','lat_br','lng_br', 'id']
class CarFilter(filters.FilterSet): # brand_name = filters.AllValuesFilter('brand_name') # model_name = filters.CharFilter('model_name') body_type = filters.CharFilter('body_type') fuel_type = filters.CharFilter('fuel_type') # mileage = filters. car_release_date = filters.RangeFilter() price = filters.RangeFilter() class Meta: model = Car fields = ('brand_name', 'model_name', 'body_type', 'fuel_type', 'car_release_date', 'price')
class PatientTransferFilter(filters.FilterSet): icmr_id = filters.CharFilter( field_name="from_patient_facility__patient__icmr_id", lookup_expr="istartswith") govt_id = filters.CharFilter( field_name="from_patient_facility__patient__govt_id", lookup_expr="istartswith") patient_name = filters.CharFilter( field_name="from_patient_facility__patient__name", lookup_expr="istartswith") gender = filters.MultipleChoiceFilter( field_name="from_patient_facility__patient__gender", choices=common_constants.GENDER_CHOICES, ) year = filters.RangeFilter( field_name="from_patient_facility__patient__year", lookup_expr="range") month = filters.RangeFilter( field_name="from_patient_facility__patient__month", lookup_expr="range") from_facility = filters.filters.ModelMultipleChoiceFilter( field_name="from_patient_facility__facility", queryset=facility_models.Facility.objects.all()) to_facility = filters.filters.ModelMultipleChoiceFilter( field_name="to_facility", queryset=facility_models.Facility.objects.all()) phone_number = filters.CharFilter( field_name="from_patient_facility__patient__phone_number", lookup_expr="istartswith") requested_at = CustomDateTimeFromToRangeFilter(field_name="created_at") status_updated_at = CustomDateTimeFromToRangeFilter( field_name="status_updated_at") status = filters.MultipleChoiceFilter( field_name="status", choices=patient_constants.TRANSFER_STATUS_CHOICES) class Meta: model = patients_models.PatientTransfer fields = ( "gender", "year", "month", "from_facility", "to_facility", "requested_at", "status_updated_at", "status", "icmr_id", "govt_id", "patient_name", "phone_number", )
class VacancyFilter(filters.FilterSet): """Фильтрация по """ status = CharFilterInFilter(field_name='status', lookup_expr='in') education = CharFilterInFilter(field_name='education', lookup_expr='in') profession = CharFilterInFilter(field_name='profession', lookup_expr='in') types = CharFilterInFilter(field_name='type', lookup_expr='in') work_experience = filters.RangeFilter() salary = filters.RangeFilter() class Meta: model = Vacancy fields = [ 'status', 'education', 'profession', 'type', 'work_experience', 'salary' ]
class DriverFilter(filters.FilterSet): id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact") id_range = filters.RangeFilter(name="id", label="ID Between") name = filters.CharFilter(name="name", label="Broker name", lookup_expr='icontains') name_null = filters.BooleanFilter(name="name", label="Is Name Null", lookup_expr="isnull") address = filters.CharFilter(name="address__line1", label="Broker address", lookup_expr='icontains') address_null = filters.BooleanFilter(name="address", label="Is Address Null", lookup_expr="isnull") phone = filters.CharFilter(name="phone", label="phone", lookup_expr="exact") phone_null = filters.BooleanFilter(name="phone", label="Is Phone Null", lookup_expr="isnull") alt_phone = filters.CharFilter(name="alt_phone", label="alt_phone", lookup_expr="exact") alt_phone_null = filters.BooleanFilter(name="alt_phone", label="Is alt_phone Null", lookup_expr="isnull") driving_licence_number = filters.CharFilter(name="driving_licence_number", label="driving_licence_number", lookup_expr='icontains') driving_licence_number_null = filters.BooleanFilter(name="driving_licence_number", label="Is driving_licence_number Null", lookup_expr="isnull") driving_licence_location = filters.CharFilter(name="driving_licence_location", label="driving_licence_location", lookup_expr='icontains') driving_licence_location_null = filters.BooleanFilter(name="driving_licence_location", label="Is driving_licence_location Null", lookup_expr="isnull") driving_licence_validity = filters.IsoDateTimeFilter(name="driving_licence_validity", label="driving_licence_validity") driving_licence_validity_between = filters.DateTimeFromToRangeFilter(name="driving_licence_validity", label="driving_licence_validity Between") service_tax_number = filters.CharFilter(name="taxation_id__service_tax_number", label="Service Tax Number", lookup_expr='exact') taxation_id_null = filters.BooleanFilter(name="taxation_id", label="Is Taxation Details Null", lookup_expr="isnull") account_details_null = filters.BooleanFilter(name="account_details", label="Is Account Details Null", lookup_expr="isnull") account_number = filters.CharFilter(name="account_details__account_number", label="Account Number", lookup_expr='exact') bank_name = filters.CharFilter(name="account_details__bank", label="Bank Name", lookup_expr='icontains') ifsc = filters.CharFilter(name="account_details__ifsc", label="IFSC Code", lookup_expr='icontains') route = filters.CharFilter(name="route", label="Route", lookup_expr='icontains') route_null = filters.BooleanFilter(name="route", label="Is Route Null", lookup_expr="isnull") priority_level = filters.CharFilter(name="priority_level", label="priority_level", lookup_expr='icontains') priority_level_null = filters.BooleanFilter(name="priority_level", label="Is priority_level Null", lookup_expr="isnull") id_proof = filters.CharFilter(name="id_proof", label="ID Proof", lookup_expr='icontains') id_proof_null = filters.BooleanFilter(name="id_proof", label="Is ID Proof Null", lookup_expr="isnull") created_on = filters.IsoDateTimeFilter(name="created_on", label="Created on") created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between") class Meta: model = Driver fields = []
class CategoryFilter(filters.FilterSet): category = CharFilterInFilter(field_name='category', lookup_expr='in') year = filters.RangeFilter() class Meta: model = Category fields = ['category', 'year']
class TaskFilter(filters.FilterSet): name = filters.CharFilter(lookup_expr='icontains') #lookup_expr = in iexact icontains company = Company.objects.filter() #userid__userid__gt=0 date_start = filters.RangeFilter() class Meta: model = Task fields = ['name', 'company', 'date_start']
class NoteFilter(filters.FilterSet): title = filters.CharFilter(lookup_expr='icontains') #lookup_expr = in iexact icontains task = Task.objects.filter() #userid__userid__gt=0 date_start = filters.RangeFilter() class Meta: model = Note fields = ['title', 'task', 'date_start']
class BookingStatusChainFilter(filters.FilterSet): id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact") id_range = filters.RangeFilter(name="id", label="ID Between") booking_status = filters.CharFilter(name="booking_status__status", label="Booking Status Name", lookup_expr='icontains') booking_status_null = filters.BooleanFilter(name="booking_status", label="Is Booking Status Null", lookup_expr="isnull") level = filters.CharFilter(name="level", label="Booking Status Chain Level", lookup_expr='icontains') level_null = filters.BooleanFilter(name="level", label="Is Booking Status Chain Level Null", lookup_expr="isnull") primary_preceded_booking_status = filters.CharFilter(name="primary_preceded_booking_status__status", label="Booking Status Name", lookup_expr='icontains') primary_preceded_booking_status_null = filters.BooleanFilter(name="primary_preceded_booking_status", label="Is Booking Status Null", lookup_expr="isnull") primary_succeeded_booking_status = filters.CharFilter(name="primary_succeeded_booking_status__status", label="Booking Status Name", lookup_expr='icontains') primary_succeeded_booking_status_null = filters.BooleanFilter(name="primary_succeeded_booking_status", label="Is Booking Status Null", lookup_expr="isnull") secondary_preceded_booking_status = filters.CharFilter(name="secondary_preceded_booking_status__status", label="Booking Status Name", lookup_expr='icontains') secondary_preceded_booking_status_null = filters.BooleanFilter(name="secondary_preceded_booking_status", label="Is Booking Status Null", lookup_expr="isnull") secondary_succeeded_booking_status = filters.CharFilter(name="secondary_succeeded_booking_status__status", label="Booking Status Name", lookup_expr='icontains') secondary_succeeded_booking_status_null = filters.BooleanFilter(name="secondary_succeeded_booking_status", label="Is Booking Status Null", lookup_expr="isnull") created_on = filters.DateTimeFilter(name="created_on", label="Created on", lookup_expr="date") created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between") class Meta: model = BookingStatusChain fields = []
class MovieFilter(filters.FilterSet): # genres = CharFilterInFilter(field_name='genres__name', lookup_expr='in') year = filters.RangeFilter() class Meta: model = Movie fields = ['year']
class InformationPackageFilter(filters.FilterSet): archivist_organization = filters.ModelMultipleChoiceFilter( label=_("Archivist Organization"), queryset=Agent.objects.filter(role__iexact="archivist", type__iexact="organization"), ) responsible = filters.ModelMultipleChoiceFilter( field_name="responsible__username", to_field_name="username", queryset=users ) state = MultipleCharFilter() object_size = filters.RangeFilter() start_date = filters.IsoDateTimeFromToRangeFilter() end_date = filters.IsoDateTimeFromToRangeFilter() create_date = filters.IsoDateTimeFromToRangeFilter() entry_date = filters.IsoDateTimeFromToRangeFilter() package_type = MultipleCharFilter() package_type_name_exclude = filters.CharFilter( label=_("Excluded Package Type"), method='exclude_package_type_name' ) def exclude_package_type_name(self, queryset, name, value): for package_type_id, package_type_name in InformationPackage.PACKAGE_TYPE_CHOICES: if package_type_name.lower() == value.lower(): return queryset.exclude(package_type=package_type_id) return queryset.none() class Meta: model = InformationPackage fields = ['archivist_organization', 'state', 'responsible', 'create_date', 'entry_date', 'object_size', 'start_date', 'end_date', 'archived', 'cached', 'package_type', 'package_type_name_exclude']