Esempio n. 1
0
 class SomeSchema(QuerysetTestHelper, List):
     q = fields.SearchFilterField(
         search_fields=['body'],
     )
     sort = fields.OrderingFilterField(
         default_ordering=['-modified', ],
         ordering_fields={
             "id": "id",
             "title": "title.raw",
             "modified": "modified",
             "created": "created"
         }
     )
     facet = fields.FacetedFilterField(
         facets={'somefield': TermsFacet(field='somefield')},
     )
     highlight = fields.HighlightBackend(
         highlight_fields={
             'somefield': {
                 'options': {
                     'post_tags': ['-*'],
                     'pre_tags': ['*-']
                 },
                 'enabled': True
             }
         }
     )
Esempio n. 2
0
class ApplicationsList(List):
    id = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM, constants.LOOKUP_FILTER_TERMS, constants.
        LOOKUP_QUERY_GT, constants.LOOKUP_QUERY_GTE, constants.LOOKUP_QUERY_LT,
        constants.LOOKUP_QUERY_LTE, constants.LOOKUP_QUERY_IN
    ])
    ids = fields.IdsSearchField()
    q = fields.SearchFilterField(
        search_fields=['title', 'notes', 'author', 'tags', 'datasets.title'], )

    tags = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM, constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_FILTER_WILDCARD, constants.LOOKUP_FILTER_PREFIX,
        constants.LOOKUP_QUERY_IN, constants.LOOKUP_QUERY_EXCLUDE
    ])

    author = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM, constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_FILTER_WILDCARD, constants.LOOKUP_FILTER_PREFIX,
        constants.LOOKUP_QUERY_IN, constants.LOOKUP_QUERY_EXCLUDE
    ])

    facet = fields.FacetedFilterField(facets={
        'tags':
        TermsFacet(field='tags', size=500),
        'modified':
        DateHistogramFacet(field='modified', interval='month', size=500)
    }, )

    sort = fields.OrderingFilterField(default_ordering=[
        '-modified',
    ],
                                      ordering_fields={
                                          "id": "id",
                                          "title": "title.raw",
                                          "modified": "modified",
                                          "created": "created"
                                      })

    highlight = fields.HighlightBackend(
        highlight_fields={
            'title': {
                'options': {
                    'pre_tags': ['<em>'],
                    'post_tags': ['</em>'],
                },
                'enabled': True
            },
            'notes': {
                'options': {
                    'pre_tags': ['<em>'],
                    'post_tags': ['</em>'],
                },
                'enabled': True
            }
        })

    class Meta:
        strict = True
 class SomeSchema(QuerysetTestHelper, List):
     highlight = fields.HighlightBackend(
         highlight_fields={
             'somefield': {
                 'options': {
                     'post_tags': ['-*'],
                     'pre_tags': ['*-']
                 },
                 'enabled': True
             }
         })
Esempio n. 4
0
class ArticlesList(List):
    id = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM,
        constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_QUERY_GT,
        constants.LOOKUP_QUERY_GTE,
        constants.LOOKUP_QUERY_LT,
        constants.LOOKUP_QUERY_LTE,
        constants.LOOKUP_QUERY_IN,
        constants.LOOKUP_QUERY_EXCLUDE,
    ])
    ids = fields.IdsSearchField()
    title = fields.SearchFilterField(search_i18n_fields=['title'])

    notes = fields.SearchFilterField(search_i18n_fields=['notes'])

    q = fields.SearchFilterField(
        search_i18n_fields=['title', 'notes', 'datasets.title'],
    )

    tags = fields.FilteringFilterField(
        lookups=[
            constants.LOOKUP_FILTER_TERM,
            constants.LOOKUP_FILTER_TERMS,
            constants.LOOKUP_FILTER_WILDCARD,
            constants.LOOKUP_FILTER_PREFIX,
            constants.LOOKUP_QUERY_IN,
            constants.LOOKUP_QUERY_EXCLUDE,
            constants.LOOKUP_QUERY_CONTAINS
        ],
        translated=True
    )

    author = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM,
        constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_FILTER_WILDCARD,
        constants.LOOKUP_FILTER_PREFIX,
        constants.LOOKUP_QUERY_IN,
        constants.LOOKUP_QUERY_EXCLUDE,
        constants.LOOKUP_QUERY_CONTAINS,
        constants.LOOKUP_QUERY_STARTSWITH,
        constants.LOOKUP_QUERY_ENDSWITH,
    ])

    slug = fields.FilteringFilterField(lookups=[
        constants.LOOKUP_FILTER_TERM,
        constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_QUERY_IN,
        constants.LOOKUP_QUERY_EXCLUDE,
        constants.LOOKUP_QUERY_STARTSWITH,
        constants.LOOKUP_QUERY_ENDSWITH,
    ])

    category = fields.NestedFilteringField('category', field_name='category.id', lookups=[
        constants.LOOKUP_FILTER_TERM,
        constants.LOOKUP_FILTER_TERMS,
        constants.LOOKUP_QUERY_GT,
        constants.LOOKUP_QUERY_GTE,
        constants.LOOKUP_QUERY_LT,
        constants.LOOKUP_QUERY_LTE,
        constants.LOOKUP_QUERY_IN
    ])

    facet = fields.FacetedFilterField(
        facets={
            'tags': TermsFacet(field='tags', size=500),
            'modified': DateHistogramFacet(field='modified', interval='month', size=500)
        },
    )

    title_suggest = fields.SuggesterFilterField(
        field='title.suggest',
        suggesters=[
            constants.SUGGESTER_COMPLETION,
            constants.SUGGESTER_PHRASE,
            constants.SUGGESTER_TERM
        ]
    )
    sort = fields.OrderingFilterField(
        default_ordering=['-modified', ],
        ordering_fields={
            "id": "id",
            "title": "title.{lang}.sort",
            "modified": "modified",
            "created": "created"
        }
    )

    highlight = fields.HighlightBackend(
        highlight_fields={
            'title': {
                'options': {
                    'pre_tags': ['<em>'],
                    'post_tags': ['</em>'],
                },
                'enabled': True
            },
            'notes': {
                'options': {
                    'pre_tags': ['<em>'],
                    'post_tags': ['</em>'],
                },
                'enabled': True
            }
        }
    )

    class Meta:
        strict = True