Django объединил набор запросов, перечисляя итерируемые с длиной указанного столбца - PullRequest
0 голосов
/ 19 августа 2011

Я хочу написать базовый вариант поиска для моего сайта. У меня есть две таблицы в моей базе данных, и я хочу получить два результата из этой базы данных, которые соответствуют моему запросу.

from itertools import chain

res1 = table1.objects.filter(Q(label__istartswith = query)).extra(select={'length':'Length(label)'}).order_by('length')
res2 = table2.objects.filter(Q(label__istartswith = query)).extra(select={'length':'Length(label)'}).order_by('length')

res = list(chain(res1, res2)

Перед цепочкой итераций я получил верный результат, который был указан в виде длины метки, но теперь я получаю список результатов table1 с меткой длины table1. После первого списка table2 список результатов с меткой table2 length ...

Я пытался создать массив для добавления res1 и res2, чтобы получить то, что мне нужно, вместо операции цепочки, но мне не удалось ...

...