Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Посчитать количество объектов в ManyToManyField [RSS Feed]

#1 Июнь 25, 2010 13:53:02

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать количество объектов в ManyToManyField

Подскажите, как посчитать количество объектов, на которые ссылается поле ManyToManyField.
Например, такие модели:

class Gallery(models.Model):
photos = models.ManyToManyField('Photo', related_name='galleries', verbose_name=_('photos'), null=True, blank=True)
class Photo(ImageModel):
title = models.CharField(_('title'), max_length=100, unique=True)
Нужно узнать сколько фотографий находится в альбоме.



Офлайн

#2 Июнь 25, 2010 13:59:06

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать количество объектов в ManyToManyField

Получаю таким образом:

gallery.col_photos = len(gallery.gallery.photos.filter(is_public=True))
Но он мне не кажется оптимальным.



Офлайн

#3 Июнь 25, 2010 14:20:33

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Посчитать количество объектов в ManyToManyField

Mutagena
Получаю таким образом:
Вы бы ещё счетчиком попробовали:-)

Использутей агрегации и забирайте всё одним запросом.



Офлайн

#4 Июнь 25, 2010 14:24:03

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Посчитать количество объектов в ManyToManyField

Daevaorn, можно привести пример?



Офлайн

  • Начало
  • » Django
  • » Посчитать количество объектов в ManyToManyField[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version