@ooker

Как правильно считать количество оценок у одного id в модели?

Привет!
Подскажите как можно достать данные у определеного id допустим число 5.
Есть модель
class MasterReviewRating(models.Model):

value = models.SmallIntegerField(verbose_name='Оценка', blank=True)
master = models.ForeignKey(NewMaster, on_delete=models.CASCADE, verbose_name='Выберите мастера')

@property
 def count_four(self):
      return MasterReviewRating.objects.filter(Q(master_id=self.master_id) | Q(value=4)).count()

 def rating_count_four(self):
        if self.count_four == 0:
            return f'нет оценок'
        elif self.count_four == 1:
            return f'{self.count_four} оценка'
        else:
            return f'{self.count_four} оценки'

Сейчас модель считает id + количество оценок. А нужно выводить только мастера допустим номер 1 и количество его пятерок.
Перебрал все варианты, есть у кого такой опыт.
Спасибо.
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ooker Автор вопроса
Cпасибо Другу Бекону прочитал про параметры к функциям очень полезно.
Решение:
@property
    def count_five(self):
        return MasterReviewRating.objects.filter(master_id=self.master_id).filter(value=5).count()

Надо добавить еще один фильтр
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 150 000 до 180 000 ₽
Appboxo Алматы
от 830 000 до 1 250 000 ₸
Verme Москва
от 120 000 ₽
23 янв. 2021, в 21:30
20000 руб./за проект
23 янв. 2021, в 20:57
750 руб./в час