universityDri.py 1.08 KB
Newer Older
Florent Chehab's avatar
Florent Chehab committed
1
from django.db import models
2
from backend.models.university import University
3
from backend.models.abstract.basic_module import BasicModule, BasicModuleSerializer, BasicModuleViewSet
Florent Chehab's avatar
Florent Chehab committed
4
from backend.utils import get_model_config, get_viewset_permissions
Florent Chehab's avatar
Florent Chehab committed
5
6


7
class UniversityDri(BasicModule):
Florent Chehab's avatar
Florent Chehab committed
8
    model_config = get_model_config("UniversityDri")
9
    universities = models.ManyToManyField(
Florent Chehab's avatar
Florent Chehab committed
10
11
        University, related_name="university_dri")

12
13
14
15
    @classmethod
    def get_serializer(cls):
        return UniversityDriSerializer

Florent Chehab's avatar
Florent Chehab committed
16

17
class UniversityDriSerializer(BasicModuleSerializer):
18
    FORCE_FULL_DISPLAY = True
Florent Chehab's avatar
Florent Chehab committed
19
20
21
22
23
24

    class Meta:
        model = UniversityDri
        fields = '__all__'


25
class UniversityDriViewSet(BasicModuleViewSet):
26
    permission_classes = get_viewset_permissions("UniversityDriViewSet")
Florent Chehab's avatar
Florent Chehab committed
27
28
    queryset = UniversityDri.objects.all()  # pylint: disable=E1101
    serializer_class = UniversityDriSerializer
29
30
31
32
33
34

    BYPASS_DICT_MODE = True

    def extend_queryset(self):
        univ_id = self.kwargs['univ_id']
        return self.my_model_queryset.filter(universities__pk=univ_id).distinct()