Guest User

Untitled

a guest
Aug 31st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. class FieldFilter(django_filters.FilterSet):
  2. """Filter for the field list in the API"""
  3. dataset = ModelChoiceFilter(queryset=Dataset.objects.all())
  4.  
  5. class Meta(object):
  6. """Meta options for the filter"""
  7. model = Field
  8. fields = ['dataset']
  9.  
  10. class FieldViewSet(viewsets.ReadOnlyModelViewSet):
  11. """A ViewSet for viewing dataset fields"""
  12. queryset = Field.objects.all()
  13. serializer_class = FieldSerializer
  14. filter_class = FieldFilter
  15.  
  16. def get_queryset(self):
  17. """Get the queryset"""
  18. queryset = super(FieldViewSet, self).get_queryset()
  19.  
  20. queryset = queryset.filter(
  21. dataset__organization=self.request.organization)
  22.  
  23. return queryset
  24.  
  25. table_filter = ExampleFilter(request.GET, kwarg_I_want_to_pass=request.user, queryset=qs)
  26.  
  27. class ExampleFilter(django_filters.FilterSet):
  28.  
  29. def __init__(self, *args, **kwargs):
  30. self.user = kwargs.pop('kwarg_I_want_to_pass', None)
  31. super(ExampleFilter, self).__init__(*args, **kwargs)
  32.  
  33. self.filters['field_to_filter'].extra.update({
  34. 'queryset': Supplier.objects.filter(related_user=self.user),
  35. 'empty_label': '',
  36. 'help_text': False
  37. })
  38.  
  39. class Meta:
  40. model = ExampleModel
  41. fields = ['related_user', 'field_to_filter', ... other fields]
Add Comment
Please, Sign In to add comment