#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()