Commit 3e45665f authored by Rafal's avatar Rafal

Add filter to user models (by user)

add default user and target fields
parent f0f40754
from django.contrib.auth.models import AbstractUser from django.contrib.auth.models import User
from django.db import models from django.db import models
# Create your models here. # Create your models here.
class UserFriendship(models.Model): class UserFriendship(models.Model):
pass user = models.ForeignKey(User, related_name='user_friendship',
blank=False, null=False, default=None)
friend = models.ForeignKey(User, related_name='user_friend',
blank=False, null=False, default=None)
class UserFriendshipRequest(models.Model): class UserFriendshipRequest(models.Model):
pass user = models.ForeignKey(User, related_name='user_friend_request_recived',
blank=False, null=False, default=None)
creted_by = models.ForeignKey(User, related_name='user_friend_requeset_creator',
blank=False, null=False, default=None)
class UserAPI(models.Model): class UserAPI(models.Model):
pass user = models.ForeignKey(User, related_name='user_api',
blank=False, null=False, default=None)
class UserEvent(models.Model): class UserEvent(models.Model):
pass user = models.ForeignKey(User, related_name='user_event',
blank=False, null=False, default=None)
...@@ -12,26 +12,54 @@ class UserFriendshipViewSet(viewsets.ModelViewSet): ...@@ -12,26 +12,54 @@ class UserFriendshipViewSet(viewsets.ModelViewSet):
serializer_class = UserFriendshipSerializer serializer_class = UserFriendshipSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request):
user = request.user
queryset = UserFriendship.objects.filter(user=user).all()
page = self.paginate_queryset(queryset)
serializer = UserFriendshipSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
class UserFriendshipRequestViewSet(viewsets.ModelViewSet): class UserFriendshipRequestViewSet(viewsets.ModelViewSet):
""" """
API for articles User Friendships
""" """
queryset = UserFriendshipRequest.objects.all() queryset = UserFriendshipRequest.objects.all()
serializer_class = UserFriendshipRequestSerializer serializer_class = UserFriendshipRequestSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request):
user = request.user
queryset = UserFriendshipRequest.objects.filter(user=user).all()
page = self.paginate_queryset(queryset)
serializer = UserFriendshipRequestSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
class UserAPIViewSet(viewsets.ModelViewSet): class UserAPIViewSet(viewsets.ModelViewSet):
""" """
API for articles User favorite api
""" """
queryset = UserAPI.objects.all() queryset = UserAPI.objects.all()
serializer_class = UserAPISerializer serializer_class = UserAPISerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request):
user = request.user
queryset = UserAPI.objects.filter(user=user).all()
page = self.paginate_queryset(queryset)
serializer = UserAPISerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
class UserEventViewSet(viewsets.ModelViewSet): class UserEventViewSet(viewsets.ModelViewSet):
""" """
API for articles User participant in this event
""" """
queryset = UserEvent.objects.all() queryset = UserEvent.objects.all()
serializer_class = UserEventSerializer serializer_class = UserEventSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request):
user = request.user
queryset = UserEvent.objects.filter(user=user).all()
page = self.paginate_queryset(queryset)
serializer = UserEventSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment