Bird
0
0

You want to filter a queryset of Orders by a date range using django-filter. Which FilterSet setup correctly supports filtering orders between two dates?

hard📝 Application Q9 of 15
Django - DRF Advanced Features
You want to filter a queryset of Orders by a date range using django-filter. Which FilterSet setup correctly supports filtering orders between two dates?
Aclass OrderFilter(FilterSet): order_date = DateFilter(field_name='order_date', lookup_expr='between') class Meta: model = Order; fields = ['order_date']
Bclass OrderFilter(FilterSet): order_date = DateFilter(lookup_expr='range') class Meta: model = Order; fields = ['order_date']
Cclass OrderFilter(FilterSet): order_date = DateFilter(field_name='order_date', lookup_expr='in') class Meta: model = Order; fields = ['order_date']
Dclass OrderFilter(FilterSet): start_date = DateFilter(field_name='order_date', lookup_expr='gte') end_date = DateFilter(field_name='order_date', lookup_expr='lte') class Meta: model = Order; fields = []
Step-by-Step Solution
Solution:
  1. Step 1: Understand date range filtering

    django-filter does not have 'between' lookup; use two filters with 'gte' and 'lte' for range.
  2. Step 2: Analyze options

    class OrderFilter(FilterSet): start_date = DateFilter(field_name='order_date', lookup_expr='gte') end_date = DateFilter(field_name='order_date', lookup_expr='lte') class Meta: model = Order; fields = [] defines start_date and end_date filters with correct lookups; others use invalid or unsupported lookups.
  3. Final Answer:

    class OrderFilter(FilterSet): start_date = DateFilter(field_name='order_date', lookup_expr='gte') end_date = DateFilter(field_name='order_date', lookup_expr='lte') class Meta: model = Order; fields = [] -> Option D
  4. Quick Check:

    Date range filtering uses two filters with gte and lte [OK]
Quick Trick: Use two DateFilters with gte and lte for date ranges [OK]
Common Mistakes:
MISTAKES
  • Using unsupported 'between' lookup
  • Trying to use 'range' lookup directly
  • Using 'in' lookup for date ranges

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Django Quizzes