src/notes/api/filters.py
changeset 128 34a75bd8d0b9
child 183 f8f3af9e5c83
equal deleted inserted replaced
127:006c5270128c 128:34a75bd8d0b9
       
     1 '''
       
     2 Inspired by https://stackoverflow.com/a/36289332
       
     3 '''
       
     4 from django_filters.rest_framework import (BaseInFilter, Filter, FilterSet,
       
     5                                            UUIDFilter)
       
     6 
       
     7 from ..models import Note, Session
       
     8 
       
     9 class ExtIdFilter(BaseInFilter, UUIDFilter):
       
    10     pass
       
    11 
       
    12 class CoreFilterSet(FilterSet):
       
    13     ext_id__in = ExtIdFilter(name='ext_id')
       
    14 
       
    15 class SessionFilterSet(CoreFilterSet):
       
    16     class Meta:
       
    17         model = Session
       
    18         fields = ['ext_id__in']
       
    19 
       
    20 class NoteFilterSet(CoreFilterSet):
       
    21     class Meta:
       
    22         model = Note
       
    23         fields = ['ext_id__in']
       
    24