universityTaggedItem.py 934 Bytes
Newer Older
1
from django.db import models
2
3
4
5
6
from backend_app.models.abstract.taggedItem import (
    TaggedItem,
    TaggedItemSerializer,
    TaggedItemViewSet,
)
Florent Chehab's avatar
Florent Chehab committed
7
from backend_app.models.university import University
8
9


Florent Chehab's avatar
Florent Chehab committed
10
class UniversityTaggedItem(TaggedItem):
11

12
    university = models.ForeignKey(
13
14
        University, on_delete=models.PROTECT, related_name="university_tagged_items"
    )
15
16

    class Meta:
17
        unique_together = ("university", "tag", "importance_level")
18
19


Florent Chehab's avatar
Florent Chehab committed
20
class UniversityTaggedItemSerializer(TaggedItemSerializer):
21
22
    class Meta:
        model = UniversityTaggedItem
23
        fields = "__all__"
24
25


Florent Chehab's avatar
Florent Chehab committed
26
class UniversityTaggedItemViewSet(TaggedItemViewSet):
27
28
    queryset = UniversityTaggedItem.objects.all()  # pylint: disable=E1101
    serializer_class = UniversityTaggedItemSerializer
29

30
    def get_queryset(self):
31
        univ_id = self.kwargs["univ_id"]
32
        return super().get_queryset().filter(university__pk=univ_id).distinct()