Здравствуйте. Недавно начал изучать джанго рест фреймворк. Возник вопрос.
Как лучше организовать доступ к объекту? например профиль пользователя, понятно что владелец профиля должен мочь его редактировать в рамках разумного, а авторизованные пользователи его просматривать.
Вроде по логике фреймворка, логичней это разделенине сделать на уровне сериализаторов, но я так и не понял как объяснить сериализатору фильтр по хозяину профиля.
Так же можно сделать это на уровне вьюх.. но тут тоже много непонятного.
В учебнике вот такой пример с фильтром на вьюхе
class PurchaseList(generics.ListAPIView):
serializer_class = PurchaseSerializer
def get_queryset(self):
user = self.request.user
return Purchase.objects.filter(purchaser=user)
Но меня очень смутил способ включения в урл
url('^purchases/(?P<username>.+)/$', PurchaseList.as_view()),
Вот должен же быть способ сделать все это правильней ) через сериализаторы, или хотя бы ModelViewSet