You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
2.2 KiB

from django.db.models import Q
from rest_framework.viewsets import ModelViewSet
from projects.models import Project, Realty
from projects.serializers import ProjectSerializer, RealtySerializer
from projects.filters import ProjectFilterSet, RealtyFilterSet
from specializations.models import Specialization
from specializations.serializers import SpecializationSerializer
from specializations.filters import SpecializationFilterSet
from users.models import User
from users.serializers import UserSerializer
from users.filters import UserFilterSet
from common.models import Location
from common.serializers import LocationSerializer
from common.filters import LocationFilterSet
from chat.models import Message
from chat.serializers import MessageSerializer
from chat.filters import MessageFilterSet
class ProjectViewSet(ModelViewSet):
queryset = Project.objects.all()
serializer_class = ProjectSerializer
filter_class = ProjectFilterSet
class MessageViewSet(ModelViewSet):
queryset = Message.objects.all()
serializer_class = MessageSerializer
filter_class = MessageFilterSet
def get_queryset(self):
queryset = Message.objects.all()
search_param = self.request.query_params.get('operand', None)
# queryset = queryset.filter(Q(sender=self.request.user.pk) | Q(recipent=self.request.user.pk))
# import code; code.interact(local=dict(globals(), **locals()))
if search_param:
queryset = queryset.filter(Q(sender=self.request.user.pk) | Q(recipent=self.request.user.pk))
return queryset
class RealtyViewSet(ModelViewSet):
queryset = Realty.objects.all()
serializer_class = RealtySerializer
filter_class = RealtyFilterSet
class SpecializationViewSet(ModelViewSet):
queryset = Specialization.objects.root_nodes()[0].get_descendants()
serializer_class = SpecializationSerializer
filter_class = SpecializationFilterSet
class UserViewSet(ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
filter_class = UserFilterSet
class LocationViewSet(ModelViewSet):
queryset = Location.objects.root_nodes()[0].get_descendants()
serializer_class = LocationSerializer
filter_class = LocationFilterSet