2010-07-24 1 views
0

В django у меня есть таблица людей, каждая из которых имеет имя first и namelast.в django Как создать набор запросов для поиска имен двойных стволов?

Я хочу сделать SQL:

select * from names where left(namefirst,1)=left(namelast,1). 

Сейчас мое самое лучшее усилие является

qs=People.objects.extra(select={'db':'select left(namefirst,1)=left(namelast,1)'}) 

но если я воткнуть .filter (дБ = 1) на том, что он генерирует ошибку ,

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

ответ

0

Ваш extra параметр выглядит неправильно. Вы должны использовать параметр where (не select):

People.objects.extra(where=['left(namefirst,1)=left(namelast,1)']) 
+0

да, я пытался выбрать вещь, а затем фильтровать по нему. Я должен был просто фильтровать его напрямую. благодаря! – fastmultiplication

+0

классный, рад, что он работает. :) – ars