Generics.ListCreateAPIView (Django Rest Framework) - PullRequest
0 голосов
/ 03 марта 2019

ViewClass (SessionList):

class SessionList(generics.ListCreateAPIView):
    throttle_scope = 'session'
    throttle_classes = (ScopedRateThrottle,)
    #I want to get the session list of speifc user
    #for ex: queryset = Session.objects.all.filter(id=1)
    queryset = Session.objects.all()
    serializer_class = SessionSerializer
    name = 'session-list'
    filter_class = SessionFilter
    ordering_fields = (
        'distance_in_miles',
        'speed'
    )

Модель сеанса:

class Session(models.Model):

    distance_in_miles = models.FloatField()
    speed = models.FloatField()
    owner = models.ForeignKey(
        'auth.User',
        related_name='Session',
        on_delete=models.CASCADE)

    class Meta:
        ordering = ('-distance_in_miles',)

Я использую (django.contrib.auth.models.User) для создания моих пользователей.

Как отфильтровать quyerset, чтобы получить только список сеансов, которые принадлежат вошедшему в систему пользователю?

1 Ответ

0 голосов
/ 03 марта 2019

Как и в стандартном универсальном представлении Django, вам нужно определить get_queryset.

class SessionList(generics.ListCreateAPIView):
    ...
    def get_queryset(self):
        return Session.objects.filter(owner=self.request.user)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...