Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class FieldFilter(django_filters.FilterSet):
- """Filter for the field list in the API"""
- dataset = ModelChoiceFilter(queryset=Dataset.objects.all())
- class Meta(object):
- """Meta options for the filter"""
- model = Field
- fields = ['dataset']
- class FieldViewSet(viewsets.ReadOnlyModelViewSet):
- """A ViewSet for viewing dataset fields"""
- queryset = Field.objects.all()
- serializer_class = FieldSerializer
- filter_class = FieldFilter
- def get_queryset(self):
- """Get the queryset"""
- queryset = super(FieldViewSet, self).get_queryset()
- queryset = queryset.filter(
- dataset__organization=self.request.organization)
- return queryset
- table_filter = ExampleFilter(request.GET, kwarg_I_want_to_pass=request.user, queryset=qs)
- class ExampleFilter(django_filters.FilterSet):
- def __init__(self, *args, **kwargs):
- self.user = kwargs.pop('kwarg_I_want_to_pass', None)
- super(ExampleFilter, self).__init__(*args, **kwargs)
- self.filters['field_to_filter'].extra.update({
- 'queryset': Supplier.objects.filter(related_user=self.user),
- 'empty_label': '',
- 'help_text': False
- })
- class Meta:
- model = ExampleModel
- fields = ['related_user', 'field_to_filter', ... other fields]
Add Comment
Please, Sign In to add comment