Правильное использование метода класса в django
Я изучал методы классов в python, но так и не понял их применения в Djnago. Моя жизнь кодера протекала хорошо без его использования. Но я столкнулся с ситуацией, когда метод класса будет полезен.
Моя модель:
class Example(models.Model):
post_count = models.IntegerField(default=0)
@classmethod
def total_counts(cls):
return cls.objects.values('post_views').annotate(sum logic)
В приведенной выше функции, если бы я использовал декоратор свойств, я мог бы получить только один объект post_count, потому что используется объект self. Но если я использую classmethod, я могу подсчитать просмотры постов всех объектов.
Так что я думаю, что всякий раз, когда нам нужно иметь дело со всеми объектами вместо объекта self, нам нужен метод класса. Правильно ли это?
Также, можем ли мы использовать метод этого класса непосредственно в поле сериализатора нашей модели так же, как мы используем свойство в сериализаторе?