Как найти количество людей, следящих за хэштегом - Django
Я использовал Django-Taggit в постах для добавления тегов в моем проекте. Моя схема модели постов выглядит следующим образом :
class Feed(models.Model):
user = models.ForeignKey(User,
on_delete=models.CASCADE,related_name='feedposts')
publish =models.DateTimeField(default = timezone.now)
created = models.DateTimeField(auto_now_add=True)
***
tags = TaggableManager()
Для того чтобы заставить пользователя следить за хэштегами. Я добавил это поле в схему модели пользователя, которая выглядит следующим образом.
class Profile(models.Model):
****
following_tags = TaggableManager()
Затем, если пользователь следит за определенным тегом, я добавляю этот тег в поле списка.
Теперь мы можем получить ленту в соответствии с хэштегами, за которыми следит пользователь. Но теперь я хочу узнать общее количество людей, следующих за определенным хэштегом, и это то, что я не могу сделать. Также, пожалуйста, скажите мне, есть ли какая-нибудь другая реализация, с помощью которой я могу достичь этой возможности, используя django-taggit, поскольку это легко сделать без его использования, просто создав простую таблицу FollowedHashtags, как показано ниже
class FollowedHashtags(models.Model):
name = models.CharField(unique = True)
user = models.ManyTOManyField(User)
Мы можем получить количество людей, следящих за хэштегами:
hashtag = FollowedHashtags.objects.get(id=1)
nooffollowers = hashtag.user.count()
Я попробовал несколько запросов фильтрации, но пока безрезультатно. Поэтому, если вы знаете какую-либо другую реализацию или способ, или вы можете предложить мне правильный путь. Я буду очень благодарен вам.
Думаю, это вам подойдет
FollowedHashtags.objects.filter(id=1).values('user').count()