Bird
0
0

Identify the error in this get_queryset method for search and ordering:

medium📝 Debug Q6 of 15
Django - DRF Advanced Features
Identify the error in this get_queryset method for search and ordering:
def get_queryset(self):
    qs = super().get_queryset()
    search = self.request.GET.get('search')
    if search:
        qs = qs.filter(name__contains=search)
    return qs.order_by('date')
ANo error, code is correct
BUsing name__contains instead of name__icontains
CUsing 'search' instead of 'q' as GET parameter
DMissing parentheses in super() call
Step-by-Step Solution
Solution:
  1. Step 1: Check filter lookup

    name__contains is case-sensitive; usually name__icontains is preferred for search.
  2. Step 2: Verify other parts

    super() call is correct, GET parameter name can be anything, so no error there.
  3. Final Answer:

    Using name__contains instead of name__icontains -> Option B
  4. Quick Check:

    Case-sensitive filter error = D [OK]
Quick Trick: Use icontains for case-insensitive search [OK]
Common Mistakes:
MISTAKES
  • Confusing contains with icontains
  • Thinking GET parameter name must be 'q'
  • Assuming super() needs arguments

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes