Django - Как добавить аннотацию в queryset для request.user

Я хочу добавить новое поле в queryset (с помощью annotate()) в соответствии с request.user. У меня есть следующие модели:

class Tweet(models.Model):
    ...
    

class Like(models.Model):
    tweet = models.ForeignKey(Tweet, related_names='likes')
    user = models.ForeignKey(AUTH_USER_MODEL, related_name='my_likes')
    type = models.CharField(
        choices=(
            ('like', _"Like"), 
            ('dislike', "Dislike")
        ),
        ...
    )

Теперь я хочу выполнить следующий запрос:

tweets = Tweet.objects.all().annotate(user_reaction=some_method(request.user))

И я хочу, чтобы это аннотированное_поле(user_reaction), реакция пользователя на твит.
user_reaction имеет 3 состояния:
1- Нравится
2- Не нравится
3- Нет (пользователю не понравился/не понравился твит)

Я хочу иметь что-то вроде tweets[10].user_reaction, а после этого получить одно из 3 состояний, которые были до этого. (просто like, dislkie или None). Как я могу это сделать? Спасибо.

Каст some_method с Value()

tweets = Tweet.objects.all().annotate(user_reaction=Value(some_method(request.user)))
Вернуться на верх