django-orchestra/orchestra/apps/accounts/api.py

26 lines
704 B
Python

from rest_framework import viewsets
from orchestra.api import router, SetPasswordApiMixin
from .models import Account
from .serializers import AccountSerializer
class AccountApiMixin(object):
def get_queryset(self):
qs = super(AccountApiMixin, self).get_queryset()
return qs.filter(account=self.request.user.pk)
class AccountViewSet(SetPasswordApiMixin, viewsets.ModelViewSet):
model = Account
serializer_class = AccountSerializer
singleton_pk = lambda _,request: request.user.pk
def get_queryset(self):
qs = super(AccountViewSet, self).get_queryset()
return qs.filter(id=self.request.user.pk)
router.register(r'accounts', AccountViewSet)