from django.db import models from backend.models.abstract.basic_module import BasicModule, BasicModuleSerializer, BasicModuleViewSet from backend.models.university import University from backend.models.currency import Currency from django.core.validators import MinValueValidator from backend.utils import get_model_config, get_viewset_permissions class UniversityInfo(BasicModule): model_config = get_model_config("UniversityInfo") university = models.OneToOneField( University, on_delete=models.CASCADE, related_name='university_info', primary_key=True, null=False) cost_exchange = models.DecimalField( decimal_places=2, max_digits=20, validators=[MinValueValidator(0)], null=True ) cost_double_degree = models.DecimalField( decimal_places=2, max_digits=20, validators=[MinValueValidator(0)], null=True ) costs_currency = models.ForeignKey(Currency, on_delete=models.PROTECT) @classmethod def get_serializer(cls): return UniversityInfoSerializer class UniversityInfoSerializer(BasicModuleSerializer): class Meta: model = UniversityInfo fields = '__all__' class UniversityInfoViewSet(BasicModuleViewSet): permission_classes = get_viewset_permissions("UniversityInfoViewSet") queryset = UniversityInfo.objects.all() # pylint: disable=E1101 serializer_class = UniversityInfoSerializer