Как соединить две модели в один queryset на Django

У мне есть две модели Item и UserRating. Обе модели связаны только с user по ForeignKey. Мне нужно получать Item в котором есть user_id из UserRating c таким же id.

Это моя модель Item

class Item(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    name = models.CharField(max_length=255, null=True, blank=True)

А это модель UserRating

class UserRating(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    rate = models.DecimalField(max_digits=6, decimal_places=1)
#Item queryset 
queryset = Item.objects.filter(
    user__isnull=False,
    user__userrating__isnull=False
).select_related(
    'user'
).prefetch_related(
    'user__userrating_set'
).all()

#Item instance
instance = queryset[0]

#User instance
instance.user

#UserRating queryset
instance.user.userrating_set.all()

#UserRating instance
instance.user.userrating_set.all()[0]
Вернуться на верх