countryDri.py 1.05 KB
Newer Older
Florent Chehab's avatar
Florent Chehab committed
1
from django.db import models
Florent Chehab's avatar
Florent Chehab committed
2 3 4
from backend_app.models.country import Country
from backend_app.models.abstract.basic_module import BasicModule, BasicModuleSerializer, BasicModuleViewSet
from backend_app.utils import get_model_config, get_viewset_permissions
Florent Chehab's avatar
Florent Chehab committed
5 6


7
class CountryDri(BasicModule):
Florent Chehab's avatar
Florent Chehab committed
8
    model_config = get_model_config("CountryDri")
9
    countries = models.ManyToManyField(
Florent Chehab's avatar
Florent Chehab committed
10 11
        Country, related_name="country_dri")

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

Florent Chehab's avatar
Florent Chehab committed
16

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

    class Meta:
        model = CountryDri
        fields = '__all__'


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

    BYPASS_DICT_MODE = True

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