Пример #1
0
class ClaimFilter(filters.FilterSet):
    min_created = filters.DateTimeFilter(name='created',
                                         lookup_expr='gte',
                                         label='Дата создания от')
    max_created = filters.DateTimeFilter(name='created',
                                         lookup_expr='lte',
                                         label='Дата создания до')
    min_sent = filters.DateFilter(name='sent',
                                  lookup_expr='gte',
                                  label='Дата просмотра от')
    max_sent = filters.DateFilter(name='sent',
                                  lookup_expr='lte',
                                  label='Дата просмотра до')
    order = filters.OrderingFilter(fields=(
        ('questionnaire', 'questionnaire'),
        ('created', 'created'),
        ('sent', 'sent'),
    ),
                                   field_labels={
                                       'questionnaire': 'По анкете',
                                       'created': 'По дате создания ',
                                       'sent': 'По дате просмотра'
                                   })

    class Meta:
        model = Claim
        fields = (
            'min_created',
            'max_created',
            'min_sent',
            'max_sent',
        )
Пример #2
0
class ReportFilter(filters.FilterSet):
    start = filters.DateTimeFilter(lookup_expr="gte")
    end = filters.DateTimeFilter(lookup_expr="lte")

    class Meta:
        model = Report
        fields = ["start", "end"]
Пример #3
0
class ContractorOrderFilter(OrderFilter):
    id = filters.NumberFilter(field_name="id", lookup_expr='contains')
    min_date = filters.DateTimeFilter(field_name="order__created",
                                      lookup_expr='gte')
    max_date = filters.DateTimeFilter(field_name="order__created",
                                      lookup_expr='lte')
    status = filters.ChoiceFilter(field_name="order__status",
                                  choices=OrderStatuses.ORDER_STATUSES)
    user_fio = filters.CharFilter(field_name="order__orderuser__contact_fio",
                                  lookup_expr='icontains')
    user_phone = filters.CharFilter(field_name="order__user_phone",
                                    lookup_expr='icontains')
    status_group = filters.NumberFilter(field_name='order__status_group',
                                        lookup_expr='exact')

    class Meta:
        model = ContractorOrder
        fields = (
            'id',
            'min_date',
            'max_date',
            'status',
            'user_fio',
            'user_phone',
            'status_group',
        )
Пример #4
0
class MemberFilter(filters.FilterSet):
    race = ListFilter(name="race", lookup_expr='icontains')
    race_exclude = ListFilter(name="race",
                              lookup_expr='icontains',
                              exclude=True)
    membership_name = ListFilter(name="membership__name",
                                 lookup_expr='icontains')
    membership_name_exclude = ListFilter(name="membership__name",
                                         lookup_expr='icontains',
                                         exclude=True)
    min_registration_date = filters.DateTimeFilter(name="registration_date",
                                                   lookup_expr='gte')
    max_registration_date = filters.DateTimeFilter(name="registration_date",
                                                   lookup_expr='lte')
    min_last_purchase_date = filters.DateTimeFilter(name="last_purchase_date",
                                                    lookup_expr='gte')
    max_last_purchase_date = filters.DateTimeFilter(name="last_purchase_date",
                                                    lookup_expr='lte')

    class Meta:
        model = models.Member
        fields = ('name', 'race', 'race_exclude', 'membership_name',
                  'membership_name_exclude', 'min_registration_date',
                  'max_registration_date', 'min_last_purchase_date',
                  'max_last_purchase_date')
Пример #5
0
class InvoiceFilter(filters.FilterSet):
    min_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='gte')
    max_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='lte')
    
    class Meta:
        model = Invoice
        fields = ['min_create', 'max_create', 'serial_id', 'seller', 'buyer']
Пример #6
0
class KaznetSubmissionFilterSet(KaznetFilterSet):
    """
    Filterset for submissions
    """
    modified = filters.DateTimeFilter(
        name='modified',
        lookup_expr=DATETIME_LOOKUPS,
        method='filter_datetime'
    )
    userprofile = filters.ModelChoiceFilter(
        name='user__userprofile',
        queryset=UserProfile.objects.all()
    )
    submission_time = filters.DateTimeFilter(
        name='submission_time',
        lookup_expr=DATETIME_LOOKUPS,
        method='filter_datetime'
    )

    # pylint: disable=too-few-public-methods
    class Meta:
        """
        Meta options for KaznetSubmissionFilterSet
        """
        model = Submission
        fields = [
            'task',
            'user',
            'userprofile',
            'status',
            'location',
            'valid',
            'modified',
            'submission_time',
        ]
Пример #7
0
class FrameFilter(django_filters.FilterSet):
    start = django_filters.DateTimeFilter(field_name='DATE_OBS', lookup_expr='gte')
    end = django_filters.DateTimeFilter(field_name='DATE_OBS', lookup_expr='lte')
    dayobs = django_filters.DateFilter(field_name='DAY_OBS', lookup_expr='iexact')
    basename = django_filters.CharFilter(field_name='basename', lookup_expr='icontains')
    OBJECT = django_filters.CharFilter(field_name='OBJECT', lookup_expr='icontains')
    public = django_filters.BooleanFilter(field_name='public', method='public_filter')
    EXPTIME = django_filters.NumberFilter(field_name='EXPTIME', lookup_expr='gte')
    covers = django_filters.CharFilter(method='covers_filter')
    exclude_OBSTYPE = django_filters.MultipleChoiceFilter(
        field_name='OBSTYPE',
        choices=Frame.OBSERVATION_TYPES,
        label='Exclude Obstypes',
        exclude=True
    )
    intersects = django_filters.CharFilter(method='intersects_filter')

    def covers_filter(self, queryset, name, value):
        geo = GEOSGeometry(value)
        return queryset.filter(area__covers=geo)

    def intersects_filter(self, queryset, name, value):
        geo = GEOSGeometry(value)
        return queryset.filter(area__intersects=geo)

    def public_filter(self, queryset, name, value):
        if not value:
            return queryset.exclude(L1PUBDAT__lt=timezone.now())
        return queryset

    class Meta:
        model = Frame
        fields = ['DATE_OBS', 'DAY_OBS', 'PROPID', 'OBSTYPE', 'INSTRUME',
                  'RLEVEL', 'SITEID', 'TELID', 'FILTER', 'L1PUBDAT',
                  'BLKUID', 'REQNUM']
Пример #8
0
class PostFilter(filters.FilterSet):
    actual_only = filters.BooleanFilter(
        method='filter_actual_only',
    )
    status = filters.ChoiceFilter(
        choices=Post.STATUSES,
    )
    earlier = filters.DateTimeFilter(
        field_name='schedule',
        lookup_expr='lte',
    )
    later = filters.DateTimeFilter(
        field_name='schedule',
        lookup_expr='gte',
    )

    @staticmethod
    def filter_actual_only(queryset, _, value):
        if value:
            queryset = queryset.filter(status__lte=Post.READY)
        return queryset

    class Meta:
        model = Post
        fields = [
            'status',
            'earlier',
            'later',
        ]
Пример #9
0
class CompetitionFilter(filters.FilterSet):
    """customized filters for the CompetitionList class"""
    from_achievement_date = filters.DateTimeFilter(
        field_name='distance_achievement_date', lookup_expr='gte')
    to_achievement_date = filters.DateTimeFilter(
        field_name='distance_achievement_date', lookup_expr='lte')
    min_distance_in_feet = filters.NumberFilter(field_name='distance_in_feet',
                                                lookup_expr='gte')
    max_distance_in_feet = filters.NumberFilter(field_name='distance_in_feet',
                                                lookup_expr='lte')
    drone_name = filters.AllValuesFilter(field_name='drone__name')
    pilot_name = filters.AllValuesFilter(field_name='pilot__name')

    class Meta:
        """model related to the filter set"""
        model = Competition
        # field names and filter names that we want to include
        # in the filters
        fields = [
            'distance_in_feet',
            'from_achievement_date',
            'to_achievement_date',
            'min_distance_in_feet',
            'max_distance_in_feet',
            # drone__name will be accessed as drone_name
            'drone_name',
            # pilot__name will be accessed as pilot_name
            'pilot_name'
        ]
Пример #10
0
    class FilterSet(filters.FilterSet):
        map_ids = filters.NumberFilter(
            required=False,
            help_text=u'mapping識別,點須有lat(維度)、lng(經度)屬性。',
            label='map_ids')
        time_start = filters.DateTimeFilter(required=False,
                                            help_text=u'開始時間,ISO格式,預設今日。',
                                            label='time_start')
        time_end = filters.DateTimeFilter(required=False,
                                          help_text=u'開始時間,ISO格式,預設今日。',
                                          label='time_end')
        lat = filters.NumberFilter(required=False,
                                   help_text=u'維度。',
                                   label='lat')
        lng = filters.NumberFilter(required=False,
                                   help_text=u'經度。',
                                   label='lng')
        token = filters.CharFilter(required=False,
                                   help_text=u'合法的 JWToken。',
                                   label='token')

        class Meta:
            model = Mapper
            fields = [
                'map_ids', 'time_start', 'time_end', 'lat', 'lng', 'token'
            ]

        @property
        def qs(self, *args, **kwargs):
            pass
Пример #11
0
class CommentFilter(filters.FilterSet):
    date_from = filters.DateTimeFilter(field_name="created", lookup_expr='gte')
    date_to = filters.DateTimeFilter(field_name="created", lookup_expr='lte')

    class Meta:
        model = Comment
        fields = ['author', 'date_from', 'date_to']
Пример #12
0
class CompetitionFilter(dfilters.FilterSet):
    """
    Custom filter class for
    for the competition API view classes
    """

    from_achievement_date = dfilters.DateTimeFilter(
        field_name='distance_achievement_date', lookup_expr='gte')
    to_achievement_date = dfilters.DateTimeFilter(
        field_name='distance_achievement_date', lookup_expr='lte')
    min_distance_in_feet = dfilters.NumberFilter(field_name='distance_in_feet',
                                                 lookup_expr='gte')
    max_distance_in_feet = dfilters.NumberFilter(field_name='distance_in_feet',
                                                 lookup_expr='lte')
    drone_name = dfilters.AllValuesFilter(
        field_name='drone__name')  # drone.name field
    pilot_name = dfilters.AllValuesFilter(
        field_name='pilot__name')  # pilot.name field

    class Meta:
        model = Competition
        fields = (
            'distance_in_feet',
            'from_achievement_date',
            'to_achievement_date',
            'min_distance_in_feet',
            'max_distance_in_feet',
            # drone__name will be accessed as drone_name
            'drone_name',
            # pilot__name will be accessed as pilot_name
            'pilot_name',
        )
Пример #13
0
class ProductionFilter(filters.FilterSet):
    title = filters.CharFilter(lookup_expr='iexact')
    platform = filters.ModelMultipleChoiceFilter(
        field_name='platforms', queryset=Platform.objects.all())
    released_before = filters.DateFilter(field_name='release_date_date',
                                         lookup_expr='lt',
                                         label="Released before")
    released_since = filters.DateFilter(field_name='release_date_date',
                                        lookup_expr='gte',
                                        label="Released since")
    added_before = filters.DateTimeFilter(field_name='created_at',
                                          lookup_expr='lt',
                                          label="Added before")
    added_since = filters.DateTimeFilter(field_name='created_at',
                                         lookup_expr='gte',
                                         label="Added since")
    updated_before = filters.DateTimeFilter(field_name='updated_at',
                                            lookup_expr='lt',
                                            label="Updated before")
    updated_since = filters.DateTimeFilter(field_name='updated_at',
                                           lookup_expr='gte',
                                           label="Updated since")
    author = filters.NumberFilter(method='filter_author', label="Author ID")

    def filter_author(self, queryset, name, value):
        return queryset.filter(
            Q(author_nicks__releaser_id=value)
            | Q(author_affiliation_nicks__releaser_id=value))

    class Meta:
        model = Production
        fields = ['supertype']
Пример #14
0
class HouseFilter(filters.FilterSet):
    """
    房屋过滤搜索
    """
    # min_read = rest_framework.NumberFilter(field_name='read_num', lookup_expr='gte')
    # max_read = rest_framework.NumberFilter(field_name='read_num', lookup_expr='lte')
    house_property_include = filters.CharFilter(field_name='house_property',
                                                lookup_expr='icontains',
                                                help_text=_('包含属性'))
    size_min = filters.NumberFilter(field_name="house_size",
                                    lookup_expr='gte',
                                    help_text=_('最小面积'))
    size_max = filters.NumberFilter(field_name="house_size",
                                    lookup_expr='lte',
                                    help_text=_('最大面积'))
    time_min = filters.DateTimeFilter(field_name="house_add_time",
                                      lookup_expr='gte',
                                      help_text=_('最早添加时间'))
    time_max = filters.DateTimeFilter(field_name="house_add_time",
                                      lookup_expr='lte',
                                      help_text=_('最晚添加时间'))
    house_id = filters.NumberFilter(field_name="house_id",
                                    lookup_expr='exact',
                                    help_text=_('房屋id'))

    class Meta:
        model = House
        fields = [
            'house_id', 'size_min', 'time_min', 'time_max', 'size_max',
            'house_property_include'
        ]
Пример #15
0
class BoxFilter(filters.FilterSet):
    min_length = filters.NumberFilter(field_name="length", lookup_expr='gt')
    max_length = filters.NumberFilter(field_name="length", lookup_expr='lt')
    min_breadth = filters.NumberFilter(field_name="breadth", lookup_expr='gt')
    max_breadth = filters.NumberFilter(field_name="breadth", lookup_expr='lt')
    min_height = filters.NumberFilter(field_name="height", lookup_expr='gt')
    max_height = filters.NumberFilter(field_name="height", lookup_expr='lt')
    min_area = filters.NumberFilter(field_name="area", lookup_expr='gt')
    max_area = filters.NumberFilter(field_name="area", lookup_expr='lt')
    min_volume = filters.NumberFilter(field_name="volume", lookup_expr='gt')
    max_volume = filters.NumberFilter(field_name="volume", lookup_expr='lt')
    created_before = filters.DateTimeFilter(field_name="created_at",
                                            lookup_expr='lt')
    created_after = filters.DateTimeFilter(field_name="created_at",
                                           lookup_expr='gt')
    username = filters.CharFilter(field_name="created_by",
                                  lookup_expr="username")

    class Meta:
        model = Box
        fields = [
            'length', 'min_length', 'max_length', 'breadth', 'min_breadth',
            'max_breadth', 'height', 'min_height', 'max_height', 'area',
            'min_area', 'max_area', 'volume', 'min_volume', 'max_volume',
            'created_at', 'created_before', 'created_after', 'created_by',
            'username'
        ]
Пример #16
0
class PostFilter(filters.FilterSet):
    date_from = filters.DateTimeFilter(field_name='pub_date', lookup_expr='gte')
    date_to = filters.DateTimeFilter(field_name='pub_date', lookup_expr='lte')

    class Meta:
        model = Post
        fields = ['date_from', 'date_to']
Пример #17
0
class LowerPaymentFilter(filters.FilterSet):
    min_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='gte')
    max_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='lte')
    
    class Meta:
        model = LowerPayment
        fields = ['min_create', 'max_create', 'serial_id', 'broker', 'invoice_org']
Пример #18
0
class StatFilter(filters.FilterSet):
    start = filters.DateTimeFilter(field_name='date',
                                   lookup_expr='gte',
                                   label='start')
    end = filters.DateTimeFilter(field_name='date',
                                 lookup_expr='lte',
                                 label='end')
Пример #19
0
class AlarmFilter(rest_framework.FilterSet):
    time_min = rest_framework.DateTimeFilter(field_name='am_addtime',lookup_expr='gte')
    time_max = rest_framework.DateTimeFilter(field_name='am_addtime',lookup_expr='lte')

    class Meta:
        model = AlarmManagement
        fields = ['time_min','time_max','scene_id','am_type_id','am_level_id','am_status']
Пример #20
0
class TransactionFilter(filters.FilterSet):
    before = filters.DateTimeFilter(field_name='created', lookup_expr='lte')
    after = filters.DateTimeFilter(field_name='created', lookup_expr='gte')

    class Meta:
        model = Transaction
        fields = ['before', 'after']
class CurrencyPairValueHistoryFilter(filters.FilterSet):
    currency_pair = filters.ModelChoiceFilter(queryset=CurrencyPair.objects.all())
    creation_time_min = filters.DateTimeFilter(name='creation_time', lookup_expr='gte')
    creation_time_max = filters.DateTimeFilter(name='creation_time', lookup_expr='lte')

    class Meta:
        model = CurrencyPairValueHistory
        fields = ('currency_pair', 'period', 'creation_time_min', 'creation_time_max')
Пример #22
0
class DsmrReadingFilter(filters.FilterSet):
    FIELD = 'timestamp'
    timestamp__gte = filters.DateTimeFilter(name=FIELD, lookup_expr='gte')
    timestamp__lte = filters.DateTimeFilter(name=FIELD, lookup_expr='lte')

    class Meta:
        model = DsmrReading
        fields = ['timestamp']
Пример #23
0
class PostFilter(filters.FilterSet):
    date_from = filters.DateTimeFilter(field_name="pub_date",
                                       lookup_expr='gte')
    date_to = filters.DateTimeFilter(field_name="pub_date", lookup_expr='lte')

    class Meta:
        model = Post
        fields = ['author', 'date_from', 'date_to', 'group']
Пример #24
0
class OperationFilter(filters.FilterSet):
    device_type = filters.CharFilter(field_name='device__device_type__type_name',lookup_expr='icontains')
    user_name = filters.CharFilter(field_name='user__name',lookup_expr='icontains')
    from_date = filters.DateTimeFilter(field_name="created_at",lookup_expr='gt')
    until_date = filters.DateTimeFilter(field_name="created_at",lookup_expr='lt')
    class Meta:
        model = models.Operation
        fields = ['from_date','until_date','device_type','user_name']
Пример #25
0
class TaskItemFilter(filters.FilterSet):
    min_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='gte')
    max_create = filters.DateTimeFilter(field_name="create_time", lookup_expr='lte')
    min_status = filters.BooleanFilter(field_name="task_state")
    
    class Meta:
        model = TaskItem
        fields = ['serial_id', 'min_create', 'max_create', 'min_status', 'goods_owner', 'invoice_status']
Пример #26
0
class GasConsumptionFilter(filters.FilterSet):
    FIELD = 'read_at'
    read_at__gte = filters.DateTimeFilter(name=FIELD, lookup_expr='gte')
    read_at__lte = filters.DateTimeFilter(name=FIELD, lookup_expr='lte')

    class Meta:
        model = GasConsumption
        fields = ['read_at']
Пример #27
0
class CommentFilter(filters.FilterSet):
    since = filters.DateTimeFilter(field_name="timestamp", lookup_expr='gte')
    before = filters.DateTimeFilter(field_name="timestamp", lookup_expr='lte')
    newer = NewerThanFilter(queryset=Activity.comments.all())

    class Meta:
        model = Activity
        fields = ['visibility', 'since', 'before', 'newer']
Пример #28
0
class HourStatisticsFilter(filters.FilterSet):
    FIELD = 'hour_start'
    hour_start__gte = filters.DateTimeFilter(name=FIELD, lookup_expr='gte')
    hour_start__lte = filters.DateTimeFilter(name=FIELD, lookup_expr='lte')

    class Meta:
        model = HourStatistics
        fields = ['hour_start']
Пример #29
0
class LikeAnalyticsFilter(filters.FilterSet):
    date_from = filters.DateTimeFilter(field_name='liked_at',
                                       lookup_expr='gte')
    date_to = filters.DateTimeFilter(field_name='liked_at', lookup_expr='lte')

    class Meta:
        model = Like
        fields = ('liked_at', 'like')
Пример #30
0
class TaskFilter(filters.FilterSet):
    name = filters.CharFilter(lookup_expr='contains')
    new = filters.DateTimeFilter(field_name='created_at', lookup_expr='gte')
    old = filters.DateTimeFilter(field_name='created_at', lookup_expr='lte')

    class Meta:
        model = Task
        fields = ('name', 'created_at', 'due_on', 'status')