Запрос хранителя фильтра Django Rest API (foreignkey)
Django Rest API имеет ввод пользователя в формате foreignkey. Ввод User возвращает всех пользователей. Но я хочу получить только тех пользователей, которые находятся в подразделении запрашивающего пользователя.
вход выбора хранителя тока:
queryset = User.objects.all()
мой вклад хранителя желаний:
queryset = User.objects.filter(unit=request.user.unit)
serializers.py:
class InventorySerializer(serializers.ModelSerializer):
class Meta:
fields = ('keeper','status','name')
views.py:
class InventoryGet(generics..RetrieveUpdateAPIView):
serializer_class = InventorySerializer
permission_classes = [permissions.IsAuthenticated]
lookup_field = 'id'
queryset = Inventory.objects.all()
models.py
keeper = models.ForeignKey(User,models.SET_NULL,null=true,blank=true)
status = models.CharField(max_length=500)
name = models.CharField(max_length=500)
Для включения пользовательского набора запросов вы можете переопределить метод get_queryset()
следующим образом. Для дальнейшего чтения о том, какие методы и свойства доступны, вы можете взглянуть на эту ссылку или официальную документацию.
def get_queryset(self):
return User.objects.filter(unit=self.request.user.unit)
В случае, если ваш запрос не сработал, пожалуйста, поделитесь вашим полным models.py
файлом. На данный момент мне это непонятно.