def test_searching_q_ok(value, db_lookup, db_value):
    cls = BooksFilterClass(book_qs)

    for v in (value, '"{}"'.format(value)):
        like_q = cls.build_q_for_filter(FilterArgs('title', SearchOperators.LIKE, v))
        assert like_q.children[0] == ('title__{}'.format(db_lookup), db_value)

    i_like_q = cls.build_q_for_filter(FilterArgs('title', SearchOperators.I_LIKE, value))
    assert i_like_q.children[0] == ('title__i{}'.format(db_lookup), db_value)
Beispiel #2
0
def filter_field(filter_name, operator, value):
    filter_cls = BooksFilterClass(book_qs)
    q = filter_cls.build_q_for_filter(
        FilterArgs(filter_name, operator, str(value)))
    return list(book_qs.filter(q))