Django DRF как ограничить данные по владельцу?

Всем добра. Есть список компаний. Хочу ограничить получение только лишь по тем организациям у которых user = request.user. Но не пойму как.
models.py
from django.shortcuts import render
from rest_framework import generics

from .models import Company
from .serializers import CompanySerializer

class CompanyList(generics.ListCreateAPIView):
    queryset = Company.objects.all()
    serializer_class = CompanySerializer

serializer,py
from rest_framework import serializers
from .models import Company

class CompanySerializer(serializers.ModelSerializer):
    class Meta:
        model = Company
        fields = '__all__'

views.py
from django.shortcuts import render
from rest_framework import generics

from .models import Company
from .serializers import CompanySerializer

class CompanyList(generics.ListCreateAPIView):
    queryset = Company.objects.all()
    serializer_class = CompanySerializer

settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
    ]
}
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
mgis
@mgis Автор вопроса
Расходимся
class CompanyList(generics.ListCreateAPIView):
    queryset = Company.objects.all()
    serializer_class = CompanySerializer

    def get_queryset(self):
        """
        Фильтруем компании по пользователю который отправил запрос
        """
        user = self.request.user
        return Company.objects.filter(user=user)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы