Форум сайта python.su
привет
есть двемодели:
class GroupName(models.Model): name = model.CharField() class Type(models.Model): name = model.Charfield() group = model.ForeignKey(GroupName)
Офлайн
group = get_object_or_404(GroupName, name='some_name')
types = group.type_set.all()
Офлайн
это получится на ждую группу по запросу.
Вроде можно же как то получить одним запросом данные вида
{группа1: , группа2: {4,5,6}}
Офлайн
annotate и aggregate - это, ИМХО, сама мякотка дебилизма джанговского ОРМ,
я третий год с джангой работаю, и каждый раз эти конструкции пишу наугад.
Если записей не много, то проще выбрать всё и питонячьими методами сделать любую структуру которую хочется.
Офлайн
я вот тоже никак не вкурю эти два метода.
Через питон уже сделал.
Офлайн
как вариант: extra + тег regroup
Офлайн
Type.objects.values('group').annotate(gcount=Count('group'))
Офлайн
magnet85А ТС не говорил, что ему нужно количество записей, он говорил совсем не это, прочитайте еще раз, пожалуйста.
Type.objects.values('group').annotate(gcount=Count('group'))
Офлайн
Стоп! Ильнур, а почему “это получится на ждую группу по запросу”?
С какого то перепугу?
Офлайн
plusplusИ так для всех групп.group = get_object_or_404(GroupName, name='some_name') # получили группу types = group.type_set.all() # получили типы группы
Отредактировано ilnur (Окт. 2, 2013 06:50:59)
Офлайн