class MyUsersFilter(FilterSet): from_birth_date = DateTimeFilter( field_name = 'profile__date_of_birth', lookup_expr = 'gte' ) to_birth_date = DateTimeFilter( field_name = 'profile__date_of_birth', lookup_expr = 'lte' ) max_age = NumberFilter( field_name = 'profile__age', lookup_expr = 'lte' ) min_age = NumberFilter( field_name = 'profile__age', lookup_expr = 'gte' ) class Meta: model = MyUser fields = ( 'from_birth_date', 'to_birth_date', 'max_age', 'min_age', 'is_superuser' )
class SubletFilter(django_filters.FilterSet): start_date = DateTimeFilter(field_name="start_date_search", lookup_expr='gte', label=' start subletting date', widget=DateInput({ 'type': 'date', 'class': 'sp' })) end_date = DateTimeFilter(field_name="end_date_search", lookup_expr='lte', label='end subletting date', widget=DateInput({ 'type': 'date', 'class': 'sp' })) price = NumberFilter(field_name="sublist_price", lookup_expr='lte', label='max rent', widget=NumberInput({'class': 'sp'})) min_price = NumberFilter(field_name="sublist_price", lookup_expr='gte', label='min rent', widget=NumberInput({'class': 'sp'})) class Meta: model = SubletListing fields = '__all__' exclude = [ 'sublet_owner_info', 'total_room', 'utilities', 'sublet_legal_fee', 'parking_cost', 'sublet_status', 'room_number', 'sublet_start_date', 'sublet_end_date', 'sublist_price', 'start_date_search', 'end_date_search', 'sublet_main_image', 'sublet_description' ]
class PlayerScoreFilter(filters.FilterSet): min_score = NumberFilter( name='score',lookup_expr='gte' ) max_score = NumberFilter( name='score',lookup_expr='lte' ) from_score_date = DateTimeFilter( name='score_date', lookup_expr='gte' ) to_score_date = DateTimeFilter( name='score_date', lookup_expr='lte' ) player_name = AllValuesFilter( name='player__name' ) game_name = AllValuesFilter( name= 'game__name' ) class Meta: model = PlayerScore fields = ( 'score', 'from_score_date', 'to_score_date', 'min_score', 'max_score', # player__name will be accessed as player_name 'player_name', #game__name will be accessed as game_name 'game_name' )
class PlayerScoreFilter(FilterSet): min_score = NumberFilter( name='score', lookup_expr='gte', ) max_score = NumberFilter( name='score', lookup_expr='lte' ) from_score_date = DateTimeFilter( name='score_date', lookup_expr='gte' ) to_score_date = DateTimeFilter( name='score_date', lookup_expr='lte' ) player_name = AllValuesFilter( name='player__name' ) game_name = AllValuesFilter( name='game__name' ) class Meta: model = PlayerScore fields = ( 'score', 'from_score_date', 'to_score_date', 'min_score', 'max_score', 'player_name', 'game_name', )
class LogRecordFilter(FilterSet): dateStart = DateTimeFilter(name='log_time', lookup_expr='gte') dateEnd = DateTimeFilter(name='log_time', lookup_expr='lte') class Meta: model = LogRecord fields = ('source', 'dateStart', 'dateEnd')
class ExpenseListFilter(FilterSet): #this filter is used to filter any substring in the name of the expense name__cont = CharFilter(field_name='name', lookup_expr='icontains') #this filter is used to filter expenses which are greater than equal to the given amount amount__gt = NumberFilter(field_name='amount', lookup_expr='gte') #this filter is used to filter expenses which are greater than equal to the given amount amount__lt = NumberFilter(field_name='amount', lookup_expr='lt') #this filter is used to filter expenses which have been created after the given date created__gt = DateTimeFilter(field_name='created', lookup_expr='gte') #this filter is used to filter expenses which have been created before the given date created__lt = DateTimeFilter(field_name='created', lookup_expr='lt') #this filter is used to filter expenses based on image attached or not image__exists = ChoiceFilter(method=filter_not_empty, choices=ADDRESSED_CHOICES, label='Status', field_name='image') class Meta: model = Expense fields = ('name', 'amount','created', 'image__exists') order_by = ['pk']
class ReportFilter(FilterSet): center_point = MethodFilter(action='center_point') status_choices = ( ('', '---------'), ('fixed', 'Fixed'), ('not-fixed', 'Not fixed'), ('in-progress', 'In progress'), ) status = ChoiceFilter(choices=status_choices) from_date = DateTimeFilter(name='created_at', lookup_type='gte') to_date = DateTimeFilter(name='created_at', lookup_type='lte') from_date_unix = UnixTimeFilter(name='created_at', lookup_type='gte') to_date_unix = UnixTimeFilter(name='created_at', lookup_type='lte') order_by_field = 'order_by' city = ModelMultipleChoiceFilter(name='ward__city', queryset=City.objects.all(), widget=forms.CheckboxSelectMultiple()) ward = ModelMultipleChoiceFilter(queryset=Ward.objects.all(), widget=forms.CheckboxSelectMultiple()) class Meta: model = Report fields = [ 'ward', 'city', 'category', 'from_date', 'to_date', 'from_date_unix', 'to_date_unix' ] order_by = (('-created_at', _('Latest First')), ('created_at', _('Oldest First')))
class CompetitionFilter(restframework_filters.FilterSet): from_achievement_date = DateTimeFilter( label='Distance achievement date starts from', name='distance_achievement_date', lookup_expr='gte') to_achievement_date = DateTimeFilter( label='Distance achievement date ends with', name='distance_achievement_date', lookup_expr='lte') min_distance_in_feet = NumberFilter(label='Distance in feet large than', name='distance_in_feet', lookup_expr='gte') max_distance_in_feet = NumberFilter(label='Distance in feet less than', name='distance_in_feet', lookup_expr='lte') drone_name = AllValuesFilter(label='✈️ Drone', name='drone__name') pilot_name = AllValuesFilter(label='👩 Pilot', name='pilot__name') class Meta: model = Competition fields = ( 'distance_in_feet', 'from_achievement_date', 'to_achievement_date', 'min_distance_in_feet', 'max_distance_in_feet', 'drone_name', # drone__name => drone_name 'pilot_name') # pilot__name => pilot_name
class CompetitionFilter(FilterSet): from_achievement_date = DateTimeFilter( name='distance_achievement_date', lookup_expr='gte') to_achievement_date = DateTimeFilter( name='distance_achievement_date', lookup_expr='lte') min_distance_in_feet = NumberFilter( name='distance_in_feet', lookup_expr='gte') max_distance_in_feet = NumberFilter( name='distance_in_feet', lookup_expr='lte') drone_name = AllValuesFilter( name='drone__name') pilot_name = AllValuesFilter( name='pilot__name') class Meta: model = Competition fields = ( 'distance_in_feet', 'from_achievement_date', 'to_achievement_date', 'min_distance_in_feet', 'max_distance_in_feet', 'drone_name', 'pilot_name', )
class KlienciFilter(FilterSet): from_birthdate = DateTimeFilter(field_name='PESEL', lookup_expr='gte') to_birthdate = DateTimeFilter(field_name='PESEL', lookup_expr='lte') class Meta: model = Klienci fields = ['from_birthdate', 'to_birthdate']
class OsobaFilter(FilterSet): od_data_urodzenia = DateTimeFilter(field_name='data_urodzenia', lookup_expr='gte') do_data_urodzenia = DateTimeFilter(field_name='data_urodzenia', lookup_expr='lte') od_zarobki = NumberFilter(field_name='zarobki', lookup_expr='gte') do_zarobki = NumberFilter(field_name='zarobki', lookup_expr='lte')
class PostFilter(django_filters.FilterSet): from_date = DateTimeFilter(field_name="created", lookup_expr='gte') to_date = DateTimeFilter(field_name='created', lookup_expr='lte') Slug = CharFilter(field_name='slug', lookup_expr='icontains') class Meta: model = Post fields = ('status', 'publish')
class OrderFilter(FilterSet): status = ChoiceFilter(choices=Order.STATUSES) from_date = DateTimeFilter(field_name='date_added', lookup_expr='gte') to_date = DateTimeFilter(field_name='date_added', lookup_expr='lte') class Meta: mmodel = Order fields = ('status', 'from_date', 'to_date')
class driverRideFilter(django_filters.FilterSet): start_time = DateTimeFilter(field_name='arrival_time', lookup_expr='gte') end_time = DateTimeFilter(field_name='arrival_time', lookup_expr='lte') destination = CharFilter(field_name='destination',lookup_expr = 'iexact') special_request = CharFilter(field_name='special_request',lookup_expr = 'iexact') class Meta: model =Ride fields = ['vehicle_type','destination','special_request']
class WizytaFilter(FilterSet): data_od = DateTimeFilter(field_name='data', lookup_expr='gte') data_do = DateTimeFilter(field_name='data', lookup_expr='lte') permission_classes = [permissions.IsAuthenticated] class Meta: model = Wizyta fields = ['data_od', 'data_do']
class AutorFilter(FilterSet): from_birthdate = DateTimeFilter(field_name='DataUrodzenia', lookup_expr='gte') to_birthdate = DateTimeFilter(field_name='DataUrodzenia', lookup_expr='lte') class Meta: model = Autor fields = ['from_birthdate', 'to_birthdate']
class MatchFilter(FilterSet): id_team1__name = CharFilter(field_name='id_team1__name') id_team2__name = CharFilter(field_name='id_team2__name') from_date = DateTimeFilter(field_name='date', lookup_expr='gte') to_date = DateTimeFilter(field_name='date', lookup_expr='lte') class Meta: model = Match fields = ['id_team1__name', 'id_team2__name', 'from_date', 'to_date']
class EntryExitFilterBase(FilterSet): from_created_date = DateTimeFilter(field_name='created_date', lookup_expr='gte') to_created_date = DateTimeFilter(field_name='created_date', lookup_expr='lte') user = AllValuesFilter(field_name='user__username', )
class PinFilter(FilterSet): category = ListFilter(name='category') start_date = DateTimeFilter(name='date',lookup_type='gte') end_date = DateTimeFilter(name='date',lookup_type='lte') min_retweetcount = NumberFilter(name='retweetcount',lookup_type='gte') min_sharecount = NumberFilter(name='sharecount',lookup_type='gte') class Meta: model = Article fields = ['start_date', 'end_date', 'min_retweetcount', 'min_sharecount', 'category']
class MetricFilter(FilterSet): """ Filter Set for user metric entries """ metric_type = ModelChoiceFilter(queryset=MetricType.objects.all()) max_date = DateTimeFilter(name='date', lookup_type='lte') min_date = DateTimeFilter(name='date', lookup_type='gte') class Meta: model = Metric fields = ['metric_type', 'min_date', 'max_date']
class MeasureListFilter(FilterSet): from_measure_date = DateTimeFilter(name='measure_date', lookup_expr='gte') to_measure_date = DateTimeFilter(name='measure_date', lookup_expr='lte') measure_name = AllValuesFilter(name='measure__name') class Meta: model = Measure fields = ( 'from_measure_date', 'to_measure_date', 'measure_name', )
class FilmSessionFilter(django_filters.FilterSet): # field_name should be name of Model's field which is used for filter start_date = DateTimeFilter(field_name='time_from', lookup_expr='gt', label="From Datetime YY-MM-DD HH:MM") end_date = DateTimeFilter(field_name='time_from', lookup_expr='lt', label="To Datetime YY-MM-DD HH:MM") date_range = DateRangeFilter(field_name='time_from', label="Period") class Meta: model = FilmSession fields = ('hall', )
class BookFilter(PropertyFilterSet): name = CharFilter( field_name='name', lookup_expr='icontains', ) author = CharFilter( field_name='authors__name', lookup_expr='icontains', ) authors = AllValuesFilter(field_name='authors__name', ) genre = AllValuesFilter(field_name='genre__name', ) publisher = AllValuesFilter(field_name='publisher__name', ) from_pub_date = DateTimeFilter(field_name='pub_date', lookup_expr='gte') to_pub_date = DateTimeFilter(field_name='pub_date', lookup_expr='lte') price = NumberFilter( field_name='price', lookup_expr='icontains', ) isbn = CharFilter( field_name='isbn', lookup_expr='exact', ) total_qty = PropertyNumberFilter( field_name='total_qty', lookup_expr='gte', ) avail_qty = PropertyNumberFilter( field_name='avail_qty', lookup_expr='gte', ) rating = PropertyNumberFilter( field_name='rating', lookup_expr='gte', ) class Meta: model = models.Book fields = ( 'name', 'author', 'authors', 'genre', 'publisher', 'from_pub_date', 'to_pub_date', 'price', 'isbn', 'total_qty', 'avail_qty', 'rating', )
class ReportUpdateFilter(FilterSet): from_date = DateTimeFilter(name='created_at', lookup_type='gte') to_date = DateTimeFilter(name='created_at', lookup_type='lte') from_date_unix = UnixTimeFilter(name='created_at', lookup_type='gte') to_date_unix = UnixTimeFilter(name='created_at', lookup_type='lte') class Meta: model = ReportUpdate fields = [ 'user', 'report', 'status', 'from_date', 'to_date', 'from_date_unix', 'to_date_unix' ] order_by = (('-created_at', _('Latest First')), ('created_at', _('Oldest First')))
class NoteListFilter(filters.FilterSet): from_created = DateTimeFilter(field_name='created', lookup_expr='gte') to_created = DateTimeFilter(field_name='created', lookup_expr='lte') class Meta: model = Note fields = ( 'title', 'category', 'from_created', 'to_created', 'is_published', 'is_favorited', )
class BookApiFilter(FilterSet): author = CharFilter(field_name="author", lookup_expr="icontains") title = CharFilter(field_name="title", lookup_expr="icontains") publication_date__gte = DateTimeFilter(field_name="publication_date", lookup_expr="gte") publication_date__lte = DateTimeFilter(field_name="publication_date", lookup_expr="lte") book_language = CharFilter(field_name="book_language", lookup_expr="icontains") class Meta: model = Book fields = ["author", "title", "publication_date", "book_language"]
class AuthorFilter(FilterSet): """Filter class for Price model""" from_born_year = DateTimeFilter(field_name="born_year", lookup_expr="gte") to_born_year = DateTimeFilter(field_name="born_year", lookup_expr="lte") class Meta: model = Author fields = ( "first_name", "last_name", "from_born_year", "born_year", "to_born_year", )
class DatasetFailedPickupFilter(FilterSet): """ Filter for failed datasets. """ publisher_name = CharFilter(lookup_expr='icontains', field_name='publisher_name') publisher_identifier = CharFilter(lookup_expr='icontains', field_name='publisher_identifier') dataset_filename = CharFilter(lookup_expr='icontains', field_name='dataset_filename') dataset_url = CharFilter(lookup_expr='icontains', field_name='dataset_url') is_http_error = CharFilter(lookup_expr='icontains', field_name='is_http_error') status_code = CharFilter(lookup_expr='icontains', field_name='status_code') error_detail = CharFilter(lookup_expr='icontains', field_name='error_detail') timestamp = DateTimeFilter(lookup_expr='gte', field_name='timestamp') q = SearchQueryFilter() class Meta: model = DatasetFailedPickup fields = []
class RentFilter(FilterSet): from_start_date = DateTimeFilter(field_name='start_date', lookup_expr='gte') to_start_date = DateTimeFilter(field_name='start_date', lookup_expr='lte') min_total_cost_of_rent = NumberFilter(field_name='total_cost_of_rent', lookup_expr='gte') max_total_cost_of_rent = NumberFilter(field_name='total_cost_of_rent', lookup_expr='lte') class Meta: model = Rent fields = [ 'client_id_client', 'car_id_car', 'employee_id_employee', 'from_start_date', 'to_start_date', 'min_total_cost_of_rent', 'max_total_cost_of_rent' ]
class AllFiltersFilterSet(FilterSet): number_AllValuesFilter = AllValuesFilter(field_name='number', lookup_expr='exact') number_AllValuesMultipleFilter_OR = AllValuesMultipleFilter(field_name='number', lookup_expr='exact', conjoined=False) # OR number_AllValuesMultipleFilter_AND = AllValuesMultipleFilter(field_name='number', lookup_expr='exact', conjoined=True) # AND number_BaseCSVFilterNumber = BaseCSVFilterNumber(field_name='number', lookup_expr='in') number_BaseInFilterNumber = BaseInFilterNumber(field_name='number', lookup_expr='in') number_BaseRangeFilterNumber = BaseRangeFilterNumber(field_name='number', lookup_expr='range') is_true_BooleanFilter = BooleanFilter(field_name='is_true', lookup_expr='exact') text_CharFilter = CharFilter(field_name='text', lookup_expr='exact') number_ChoiceFilter = ChoiceFilter(field_name='number', lookup_expr='exact', choices=NUMBER_CHOICES) date_DateFilter = DateFilter(field_name='date', lookup_expr='exact') date_DateFromToRangeFilter = DateFromToRangeFilter(field_name='date', lookup_expr='range') date_DateRangeFilter = DateRangeFilter(field_name='date', lookup_expr='exact') date_time_DateTimeFilter = DateTimeFilter(field_name='date_time', lookup_expr='exact') date_time_DateTimeFromToRangeFilter = DateTimeFromToRangeFilter(field_name='date_time', lookup_expr='range') duration_DurationFilter = DurationFilter(field_name='duration', lookup_expr='exact') iso_date_time_IsoDateTimeFilter = IsoDateTimeFilter(field_name='iso_date_time', lookup_expr='lt') iso_date_time_IsoDateTimeFromToRangeFilter = IsoDateTimeFromToRangeFilter(field_name='iso_date_time', lookup_expr='range') number_MultipleChoiceFilter_OR = MultipleChoiceFilter(field_name='number', lookup_expr='exact', conjoined=False, choices=NUMBER_CHOICES) number_MultipleChoiceFilter_AND = MultipleChoiceFilter(field_name='number', lookup_expr='exact', conjoined=True, choices=NUMBER_CHOICES) number_NumberFilter = NumberFilter(field_name='number', lookup_expr='exact') number_OrderingFilter = OrderingFilter(fields=('number', 'number')) number_RangeFilter = RangeFilter(field_name='number', lookup_expr='range') time_TimeFilter = TimeFilter(field_name='time', lookup_expr='exact') time_TimeRangeFilter = TimeRangeFilter(field_name='time', lookup_expr='range') number_TypedChoiceFilter = TypedChoiceFilter(field_name='number', lookup_expr='exact', choices=NUMBER_CHOICES) text_TypedMultipleChoiceFilter_OR = TypedMultipleChoiceFilter(field_name='number', lookup_expr='exact', conjoined=False, choices=NUMBER_CHOICES) text_TypedMultipleChoiceFilter_AND = TypedMultipleChoiceFilter(field_name='number', lookup_expr='exact', conjoined=True, choices=NUMBER_CHOICES) uuid_UUIDFilter = UUIDFilter(field_name='uuid', lookup_expr='exact') number_LookupChoiceFilter = LookupChoiceFilter(field_name='number') class Meta: model = BenchmarkModel exclude = ['number', 'text', 'is_true', 'date', 'date_time', 'duration']