Найти - Пользователи
Полная версия: Не могу придумать, как сделать запрос
Начало » Django » Не могу придумать, как сделать запрос
1
FishHook
Есть модель

class Person(models.Model):
    territory=models.ForeignKey(Territory, null=True, blank=True)
    list_num=models.IntegerField(u'Номер', blank=True, null=True)
class Territory(models.Model):
   name=CharField()

Как одним запросом получить список Территория : Количество граждан в этой территории, у которых list_num>1
???
cpu
Летят Холмс с Ватсоном на воздушном шаре. И спят в полёте. Просыпаются над какой-то незнакомой землёй, видят - внизу какой-то человек коров пасёт. Снизились они и спрашивают мужика:
- Скажите, сэр, где мы находимся?
- На воздушном шаре.
- Спасибо, сэр, - и летят вверх. Холмс задумчиво говорит:
- Интересная местность, Ватсон! Программист пасёт коров!
- Холмс, а с чего вы взяли, что он программист?
- Это элементарно! Во-первых, он долго думал над ответом. Во-вторых, его ответ был абсолютно точен. В-третьих - абсолютно бесполезен!

SELECT t.name, count(*) FROM territory as t JOIN person as p ON (t.id = p.territory_id) WHERE (p.list_num > 1) order by t.name;
Как-то так.
FishHook
cpu
Летят Холмс с Ватсоном на воздушном шаре. И спят в полёте. Просыпаются над какой-то незнакомой землёй, видят - внизу какой-то человек коров пасёт. Снизились они и спрашивают мужика:
- Скажите, сэр, где мы находимся?
- На воздушном шаре.
- Спасибо, сэр, - и летят вверх. Холмс задумчиво говорит:
- Интересная местность, Ватсон! Программист пасёт коров!
- Холмс, а с чего вы взяли, что он программист?
- Это элементарно! Во-первых, он долго думал над ответом. Во-вторых, его ответ был абсолютно точен. В-третьих - абсолютно бесполезен!

SELECT t.name, count(*) FROM territory as t JOIN person as p ON (t.id = p.territory_id) WHERE (p.list_num > 1) order by t.name;
Как-то так.

Так я тоже умею. Мне бы через дебильный джанговский ORM такой запрос реализовать!
svas
Person.objects.filter(list_num__gt=1).values('territory__name').annotate(models.Count('id'))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB