Django Tastypie Advanced Filtering: как выполнять сложные поиски с объектами Q

У меня есть базовая модель Django, например:

<code>class Business(models.Model):
    name = models.CharField(max_length=200, unique=True)
    email = models.EmailField()
    phone = models.CharField(max_length=40, blank=True, null=True)
    description = models.TextField(max_length=500)
</code>

Мне нужно выполнить сложный запрос на приведенной выше модели, как:

<code>qset = (
    Q(name__icontains=query) |
    Q(description__icontains=query) |
    Q(email__icontains=query)
    )
results = Business.objects.filter(qset).distinct()
</code>

Я пробовал следующее с помощьюtastypie без удачи

<code>def build_filters(self, filters=None):
    if filters is None:
        filters = {}
    orm_filters = super(BusinessResource, self).build_filters(filters)

    if('query' in filters):
        query = filters['query']
        print query
        qset = (
                Q(name__icontains=query) |
                Q(description__icontains=query) |
                Q(email__icontains=query)
                )
        results = Business.objects.filter(qset).distinct()
        orm_filters = {'query__icontains': results}

    return orm_filters
</code>

а в классе Мета для вкусного пирога у меня фильтрация установлена как:

<code>filtering = {
        'name: ALL,
        'description': ALL,
        'email': ALL,
        'query': ['icontains',],
    }
</code>

Любые идеи о том, как я могу решить это?

Спасибо  - ньютон

Ответы на вопрос(3)

Ваш ответ на вопрос