Как создать в django опцию annotate или agregate для определения того, что request.user уже есть в m2m relations
Я уже 2 дня ищу способ определить, следит ли зарегистрированный пользователь за каким-либо сообщением или нет. вот мои модели:
class User(AbstractUser):
pass
class Post(models.Model):
user = models.ForeignKey(
"User", on_delete=models.CASCADE, related_name="posts")
owner = models.ForeignKey(
"User", on_delete=models.PROTECT, related_name="post_posted")
followers = models.ManyToManyField(
"User", default=None, blank=True, related_name="posts_followers")
likes = models.ManyToManyField(
"User", default=None, blank=True, related_name="posts_likes")
unlikes = models.ManyToManyField(
"User", default=None, blank=True, related_name="posts_unlikes")
content = models.TextField(blank=True, null=True)
timestamp = models.DateTimeField(auto_now_add=True)
Основная идея заключается в том, что когда страница рендерится django помещает Buton Follow или unfollow в зависимости от того, существует пользователь или нет, в отношение followers m2m.
Теперь в представлении у меня есть набор запросов, который я использую для определения номеров "нравится" и "не нравится", это работает отлично, но теперь мне нужен ботон для следования и разворачивания как дополнительная задача, мне нужно добавить еще один ботон для "нравится" и "не нравится" тоже.
# Get all post from the DB
allposts = Post.objects.all().annotate(num_likes=Count(
'likes'), num_unlikes=Count('unlikes')).order_by("-timestamp")
Если кто-то может помочь мне, я буду очень благодарен. ?
Заранее спасибо.