class IssueFilter(filters.FilterSet): status = filters.CharFilter(field_name='kanbancol__name', lookup_expr='exact') assignee = filters.CharFilter(field_name="assignee__username", lookup_expr='contains') participant = filters.CharFilter(field_name="participant__username", lookup_expr='contains') dependsOn = filters.NumberFilter(field_name="dependsOn__number", lookup_expr='exact') sprint = filters.NumberFilter(field_name="sprint__seqnum", lookup_expr='exact') project = filters.CharFilter(field_name="project__name_short", lookup_expr='exact') logged_total__gt = DurationFilter(field_name='logged_total', lookup_expr='gt') logged_total__lt = DurationFilter(field_name='logged_total', lookup_expr='lt') logged_total = DurationFilter(field_name='logged_total', lookup_expr='exact') class Meta: model = Issue fields = { 'priority': ['exact', 'lt', 'gt'], 'type': ['exact'], 'description': ['contains'], 'due_date': ['exact', 'lt', 'gt'], 'created': ['exact', 'lt', 'gt'], 'storypoints': ['exact', 'lt', 'gt'], 'archived': ['exact'], 'sprint': ['isnull'] }
class DataMartFilter(filters.FilterSet): """ DataMartFilter """ #active = filters.BooleanFilter() parent_id = MethodFilter(label=_("Parent Id")) id__in = NumberInFilter(name='id', label=_("IDs")) slug = filters.CharFilter(lookup_expr='iexact', label=_("Slug")) slug__icontains = filters.CharFilter(name='slug', lookup_expr='icontains', label=_("Slug (icontains)")) path = filters.CharFilter(lookup_expr='iexact', label=_("Path")) path__icontains = filters.CharFilter(name='path', lookup_expr='icontains', label=_("Path (icontains)")) class Meta: model = BaseDataMart fields = ['active'] def filter_parent_id(self, name, queryset, value): key = name try: value = int(value) except ValueError: if value.lower() in ('none', 'null'): value = None else: key = 'parent__slug' return queryset.filter(**{"{}__exact".format(key): value})
class LocationGeometryFilterBase(GeoFilterSet): label = filters.CharFilter(name='label', lookup_expr='iexact') label__contains = filters.CharFilter(name='label', lookup_expr='icontains') name = filters.CharFilter(name='attributes__name', lookup_expr='exact') layer = filters.CharFilter(name='attributes__layer', lookup_expr='exact') region = filters.NumberFilter(name='attributes__region', action=filter_region_json)
class TagFilter(filters.FilterSet): keyword = filters.CharFilter(label=_('Keyword'), name='keyword', method='filter_keyword') name = filters.CharFilter(lookup_expr='icontains') is_active = filters.BooleanFilter(label=_('Is Active'), name='is_active', method='filter_is_actvie') class Meta: model = models.Tag exclude = [] def filter_is_actvie(self, queryset, name, value): ''' True(value=1), False(value=0)''' q = Q(slug='') | Q(name='') | Q(mytaggit_taggeditem_items__isnull=True) if value == 1: return queryset.exclude(q) elif value == 0: return queryset.filter(q) return queryset def filter_keyword(self, queryset, name, value): print("filter_keyword", name, value) # q = Q(slug='') | Q(name='') | Q(mytaggit_taggeditem_items__isnull=True) return value and queryset.filter( Q(name__icontains=value) | Q(slug__icontains=value)) or queryset
class TasksFilter(filters.FilterSet): id = filters.NumberFilter(name='id', lookup_type='exact') parent_task = filters.NumberFilter(name='parent_task', lookup_type='exact') type = filters.CharFilter(name='type', lookup_type='icontains') status = filters.CharFilter(name='status', lookup_type='icontains') manager_comment = filters.CharFilter(name='manager_comment', lookup_type='icontains') is_demo = filters.BooleanFilter(name='is_demo', lookup_type='exact') is_active = filters.BooleanFilter(name='is_active', lookup_type='exact') created_by = filters.NumberFilter(name='created_by', lookup_type='exact') project = filters.NumberFilter(name='project', lookup_type='exact') passage = filters.NumberFilter(name='passage', lookup_type='exact') annotator = filters.NumberFilter(name='annotator', lookup_type='exact') class Meta: model = Tasks fields = { 'id', 'parent_task', 'type', 'status', 'project', 'passage', 'annotator', 'manager_comment', 'is_demo', 'created_by', 'is_active', }
class StateProvinceFilter(filters.FilterSet): name = filters.CharFilter(name='name') abbreviation = filters.CharFilter(name='abbreviation') class Meta: model = StateProvince fields = ['id', 'name', 'abbreviation']
class ProjectFilter(django_filters.FilterSet): theme = django_filters.CharFilter(lookup_expr='iexact') fname = django_filters.CharFilter(lookup_expr='iexact') id = django_filters.CharFilter(lookup_expr='iexact') class Meta: model = IsioloProject fields = ['fname', 'theme']
class AboutUsFilter(filters.FilterSet): title = filters.CharFilter(name='title') subtitle = filters.CharFilter(name='subtitle') body = filters.CharFilter(name='body') class Meta: model = AboutUs fields = ['id', 'title', 'subtitle', 'body']
class HostFilter(filters.FilterSet): function_group = filters.RelatedFilter(FunctiongroupFilter, name='function_group') ip = filters.CharFilter(name='ip') port = filters.CharFilter(name='port') class Meta: model = Host fields = ['function_group', 'ip', 'port']
class MunicipioFilter(filters.FilterSet): estado_sigla = filters.CharFilter(name='estado__sigla') nome_municipio = filters.CharFilter(name='cidade__nome_municipio') situacao_adesao = filters.CharFilter(name='usuario__estado_processo', lookup_expr='istartswith') class Meta: model = Municipio fields = {'id', 'cnpj_prefeitura'}
class ProfileFilter(filters.FilterSet): username = filters.CharFilter(name='username') email = filters.CharFilter(name='email') first_name = filters.CharFilter(name='first_name') last_name = filters.CharFilter(name='last_name') class Meta: model = Profile fields = ['id', 'username', 'email', 'first_name', 'last_name']
class AccountFilter(filters.FilterSet): username = filters.CharFilter(field_name='username', lookup_expr="icontains") level = filters.CharFilter(field_name='level', lookup_expr="icontains") # q = filters.CharFilter(field_name='cus_coding', lookup_expr="icontains" ) class Meta: model = Accounts fields = ['is_active']
class ProcessFilter(BaseResolweFilter): """Filter the Process endpoint.""" category = filters.CharFilter(name='category', lookup_expr='startswith') type = filters.CharFilter(name='type', lookup_expr='startswith') scheduling_class = filters.AllLookupsFilter() class Meta(BaseResolweFilter.Meta): """Filter configuration.""" model = Process fields = BaseResolweFilter.Meta.fields + ['category', 'type', 'scheduling_class']
class SplitFilter(filters.FilterSet): reader = filters.CharFilter(name='reader__id_str') tag = filters.CharFilter(name='tag__id_str') time_gte = filters.NumberFilter(name='time', lookup_type='gte') time_lte = filters.NumberFilter(name='time', lookup_type='lte') session = filters.NumberFilter(name='timingsession') checkpoint = filters.NumberFilter(name='reader__checkpoint', distinct=True) class Meta: model = Split fields = ('athlete', 'tag', 'session', 'reader', 'time_lte', 'time_gte', 'checkpoint')
class RelationFilter(BaseResolweFilter): """Filter the Relation endpoint.""" category = filters.CharFilter(lookup_expr='iexact') collection = filters.ModelChoiceFilter(queryset=Collection.objects.all()) type = filters.CharFilter(name='type__name') class Meta(BaseResolweFilter.Meta): """Filter configuration.""" model = Relation fields = BaseResolweFilter.Meta.fields + [ 'category', 'collection', 'type' ]
class SublocationORFilter(BaseFilter): locname = django_filters.CharFilter(lookup_expr='iexact') sub_name = django_filters.CharFilter(lookup_expr='iexact') divname = django_filters.CharFilter(lookup_expr='iexact') distname = django_filters.CharFilter(lookup_expr='iexact') provname = django_filters.CharFilter(lookup_expr='iexact') class Meta: model = SubLocation fields = { 'locname': ['iexact', ], 'sub_name': ['iexact', ], }
class DataFilter(BaseResolweFilter): """Filter the Data endpoint.""" collection = filters.RelatedFilter(CollectionFilter) type = filters.CharFilter(name='process__type', lookup_type='startswith') status = filters.CharFilter(lookup_expr='iexact') finished = filters.AllLookupsFilter() started = filters.AllLookupsFilter() process = filters.RelatedFilter(ProcessFilter) class Meta: """Filter configuration.""" model = Data
class TeamMemberFilter(filters.FilterSet): user_id = filters.CharFilter(name='user_id') username = filters.CharFilter(name='username') is_partner = filters.BooleanFilter(name='is_partner') is_associate = filters.BooleanFilter(name='is_associate') email = filters.CharFilter(name='email') phone = filters.CharFilter(name='phone') first_name = filters.CharFilter(name='first_name') last_name = filters.CharFilter(name='last_name') bio = filters.CharFilter(name='bio') title = filters.CharFilter(name='title') class Meta: model = TeamMember fields = [ 'id', 'user_id', 'username', 'is_partner', 'is_associate', 'email', 'phone', 'first_name', 'last_name', 'bio', 'title', ]
class UserFilter(filters.FilterSet): email = filters.CharFilter(name='email') username = filters.CharFilter(name='username') first_name = filters.CharFilter(name='first_name') last_name = filters.CharFilter(name='last_name') class Meta: model = User fields = [ 'id', 'username', 'first_name', 'last_name', 'email', ]
class NotificationFilter(filters.FilterSet): owner = filters.RelatedFilter(UserProfileFilter, name='owner', queryset=UserProfile.objects.all()) tags = filters.CharFilter(name="tags", method=array_field_filter(lookup_expr="contains")) # Overlap is useful if we have a set of tags and want to hit any notifications that match at least one tags__overlap = filters.CharFilter(name="tags", method=array_field_filter(lookup_expr="overlap")) class Meta: model = Notification fields = { "message": ALL_TEXT_LOOKUPS, "is_read": ['exact'], "date_created": DATE_LOOKUPS, "date_updated": DATE_LOOKUPS, "owner": FOREIGN_KEY_LOOKUPS }
class DataFilter(BaseResolweFilter): """Filter the Data endpoint.""" collection = filters.RelatedFilter(CollectionFilter) entity = filters.ModelChoiceFilter(queryset=Entity.objects.all()) type = filters.CharFilter(name='process__type', lookup_type='startswith') status = filters.CharFilter(lookup_expr='iexact') finished = filters.AllLookupsFilter() started = filters.AllLookupsFilter() process = filters.RelatedFilter(ProcessFilter) tags = TagsFilter() class Meta: """Filter configuration.""" model = Data
class EventSignatureFilter(filters.FilterSet): created_at = filters.AllLookupsFilter(name='created_at') text_signature = filters.CharFilter(name='text_signature', lookup_type='icontains') bytes_signature = filters.MethodFilter() hex_signature = filters.MethodFilter() class Meta: model = EventSignature fields = [ 'created_at', 'text_signature', 'bytes_signature', 'hex_signature' ] def filter_bytes_signature(self, name, qs, value): if len(value) == 32: return qs.filter(bytes_signature=value) else: return qs def filter_hex_signature(self, name, qs, value): unprefixed_value = remove_0x_prefix(value.lower()) if len(unprefixed_value) == 64: return qs.filter(hex_signature=unprefixed_value) else: return qs.filter(hex_signature__icontains=unprefixed_value)
class BrandFilter(filters.FilterSet): name = filters.CharFilter(name='name', lookup_type='icontains') class Meta: model = Brand fields = ('name',)
class ModelKitFilter(filters.FilterSet): name = filters.CharFilter(name='name', lookup_type='icontains') class Meta: model = ModelKit fields = ('brand', 'scale', 'name')
class F(FilterSet): """ BOOL FILTER """ """Filter for Books by if books are published or not""" check_params = filters.BooleanFilter( name='check_params') #, method='params_checked') username = filters2.CharFilter(field_name='username') # def params_checked(self, queryset, name, value): # # construct the full lookup expression. # lookup = '__'.join([name, 'isnull']) # return queryset.filter(**{lookup: False}) # # alternatively, it may not be necessary to construct the lookup. # return queryset.filter(published_on__isnull=False) class Meta: model = models.Employee fields = ['check_params', 'username'] # class Author_by_paper_title_Filter(filters.FilterSet): # title = filters.AllLookupsFilter() # author__name = filters.CharFilter(field_name='author__name', lookup_expr='startswith') # # class Meta: # model = models.Paper # fields = []
class ServiceFilter(filters.FilterSet): id = filters.CharFilter(name='id') title = filters.CharFilter(name='name_or_company') statement = filters.CharFilter(name='city') time_published = filters.CharFilter(name='user_id') description = filters.CharFilter(name='nickname') class Meta: model = Service fields = [ 'id', 'title', 'statement', 'time_published', 'description', ]
class MessagingSettingsFilter(filters.FilterSet): user_id = filters.CharFilter(name='user_id') duplicate_private = filters.BooleanFilter(name='duplicate_private') class Meta: model = MessagingSettings fields = ['id', 'duplicate_private', 'user_id']
class PermissionFilter(filters.FilterSet): q = filters.CharFilter( name="name", method=full_text_search(fields=["name", "codename"])) class Meta: model = Permission fields = {"name": ALL_TEXT_LOOKUPS, "codename": ALL_TEXT_LOOKUPS}
class SourcesFilter(filters.FilterSet): id = filters.NumberFilter(name='id', lookup_type='exact') text = filters.CharFilter(name='text', lookup_type='icontains') name = filters.CharFilter(name='name', lookup_type='icontains') is_default = filters.BooleanFilter(name='is_default', lookup_type='exact') is_active = filters.BooleanFilter(name='is_active', lookup_type='exact') created_by = filters.NumberFilter(name='created_by', lookup_type='exact') source = filters.NumberFilter(name='source', lookup_type='exact') class Meta: model = Sources fields = { 'id', 'text', 'name', 'created_by', 'is_active', }
class TaskFilter(filters.FilterSet): owner = filters.RelatedFilter(UserProfileFilter, name='owner', queryset=UserProfile.objects.all()) tags = filters.CharFilter(name="tags", method=array_field_filter(lookup_expr="contains")) # Overlap is useful if we have a set of tags and want to hit any notifications that match at least one tags__overlap = filters.CharFilter(name="tags", method=array_field_filter(lookup_expr="overlap")) class Meta: model = Task fields = { "content": ALL_TEXT_LOOKUPS, "title": ALL_TEXT_LOOKUPS, "date_created": DATE_LOOKUPS, "date_updated": DATE_LOOKUPS, "date_due": DATE_LOOKUPS, "date_completed": DATE_LOOKUPS, "owner": FOREIGN_KEY_LOOKUPS, "priority": INTEGER_LOOKUPS }