Bird
0
0

How do you correctly prefetch a reverse relation called reviews on a Product model in Django?

easy📝 Syntax Q3 of 15
Django - Caching
How do you correctly prefetch a reverse relation called reviews on a Product model in Django?
AProduct.objects.filter(reviews__isnull=False)
BProduct.objects.select_related('reviews')
CProduct.objects.prefetch_related('review_set')
DProduct.objects.prefetch_related('reviews')
Step-by-Step Solution
Solution:
  1. Step 1: Identify reverse relation name

    If related_name='reviews' is set on ForeignKey, use 'reviews'.
  2. Step 2: Use prefetch_related

    prefetch_related('reviews') correctly fetches reverse related objects.
  3. Final Answer:

    Product.objects.prefetch_related('reviews') -> Option D
  4. Quick Check:

    Use prefetch_related with related_name, not select_related [OK]
Quick Trick: Use prefetch_related with the related_name for reverse relations [OK]
Common Mistakes:
MISTAKES
  • Using select_related for reverse relations (only works for forward FK)
  • Using default related manager name if related_name is set
  • Filtering instead of prefetching related objects

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes