Запрос избранного пользователя в Django

#python #django #sqlite #django-models

Вопрос:

Я хочу запросить избранное у пользователя в Django. У каждого пользователя есть профиль (профиль пользователя), и избранное хранится в этой модели профиля пользователя. Я хочу иметь возможность запрашивать избранное (это профили пользователей) только с использованием идентификатора пользователя. Это то, что у меня есть, но не работает (он возвращает пустой запрос, даже если у пользователя есть 3 избранных):

 favorites = UserProfile.objects.filter(favorites__user__id=user_id)
 

Моя Модель Пользователя:

 class User(AbstractUser):
  usertype = models.PositiveSmallIntegerField(choices=constants.USER_TYPE_CHOICES )
  profile = models.OneToOneField(UserProfile, on_delete=models.CASCADE, primary_key=False)
  token = models.CharField(max_length=10, default='')
 

Моя модель профиля пользователя:

 class UserProfile(models.Model):
  birth_date = models.DateField(default=datetime.date(1900, 1, 1))
  favorites = models.ManyToManyField('self', symmetrical=False)
 

Как мне это сделать?
Большое вам спасибо!

Ответ №1:

 favorites = User.objects.get(id=user_id).profile.favorites.all()