src/notes/api/filters.py
changeset 128 34a75bd8d0b9
child 183 f8f3af9e5c83
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/notes/api/filters.py	Tue Jul 25 19:11:26 2017 +0200
@@ -0,0 +1,24 @@
+'''
+Inspired by https://stackoverflow.com/a/36289332
+'''
+from django_filters.rest_framework import (BaseInFilter, Filter, FilterSet,
+                                           UUIDFilter)
+
+from ..models import Note, Session
+
+class ExtIdFilter(BaseInFilter, UUIDFilter):
+    pass
+
+class CoreFilterSet(FilterSet):
+    ext_id__in = ExtIdFilter(name='ext_id')
+
+class SessionFilterSet(CoreFilterSet):
+    class Meta:
+        model = Session
+        fields = ['ext_id__in']
+
+class NoteFilterSet(CoreFilterSet):
+    class Meta:
+        model = Note
+        fields = ['ext_id__in']
+