Ваша реализация не имеет смысла. Я думаю, вы пытаетесь подсчитать все объекты Comments
, но здесь вы пытаетесь подсчитать субъект, возможно, это строка или список. На них счетчик работает следующим образом:
IN >> "aaaaa".count('a')
OUT >> 5
IN >> [1,2,3,4].count(1)
OUT >> 1
Теперь, чтобы решить вашу проблему, нам нужно понять, чего вы здесь хотите достичь. Если вы хотите получить количество комментариев к определенному сообщению, вы можете попробовать следующее:
Если у вас есть такая модель:
class Comments(models.Model):
post = models.ForeignKey(Post)
Тогда вы можете воспользоваться следующим подходом:
def get_comment_count(self, obj):
return obj.post.comments_set.count()
Это функция count()
из набора запросов Django. И obj.post.comments_set
вернет набор запросов (для наличия обратной связи). Если вы определили related_name="post_comments"
( docs ), тогда он станет obj.post.post_comments.count()
.