MU
21 июля 2020 г. 18:12
Change likedislike app to reaction app
Hi, I create app following the tutorial on evileg, but I do some changes.
My code:
- class LikeDislikeManager(models.Manager):
- use_for_related_fields = True
- def likes(self):
- # We take the queryset with records greater than 0
- return self.get_queryset().filter(vote__gt=0)
- def dislikes(self):
- # We take the queryset with records less than 0
- return self.get_queryset().filter(vote__lt=0)
- def sum_rating(self):
- # We take the total rating
- return self.get_queryset().aggregate(Sum('vote')).get('vote__sum') or 0
- class LikeDislike(models.Model, Activity):
- LIKE = 1
- POWER = 1
- WOW = 1
- SUCCESS = 1
- BLOW = 1
- VOTES = (
- (LIKE, 'Polubienie'),
- (POWER, 'Jest moc!'),
- (WOW, 'Wow'),
- (SUCCESS, 'Świetnie!'),
- (BLOW, 'Mózg rozwalony!'),
- )
- vote = models.SmallIntegerField(verbose_name='Like', choices=VOTES)
- user = models.ForeignKey(User, verbose_name='Użytkownik polubił', on_delete=models.CASCADE)
- created_at = models.DateTimeField(auto_now_add=True)
- content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
- object_id = models.PositiveIntegerField()
- content_object = GenericForeignKey()
- objects = LikeDislikeManager()
- @property
- def activity_actor_attr(self):
- return self.user
I don't change views.py and almost everything works fine but reaction count. I don't know how to count particural reaction. Any idea? :)
Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- Сейчас обсуждают на форуме
- DT14 апреля 2025 г. 15:38Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Hello,
In my tutorial I use +1 and -1 for Like and Dislike, because of it is very easy to get total sum, like rating. But you have different idea of reaction. You can not use +1 and -1 and make sum of these reaction.
But you can set up different types of reactions like this
And you need to write the following manager
But in this conception you don't use sum_rating . I think it is useless
Thank you! This is it. :)