adapter api-vhc
This commit is contained in:
@@ -75,7 +75,7 @@ class Vehicles(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
class Vehicles_infos(models.Model):
|
class Vehicles_infos(models.Model):
|
||||||
Vehicle = models.ForeignKey(Vehicles, on_delete=models.CASCADE, verbose_name="Véhicule")
|
Vehicle = models.ForeignKey(Vehicles, on_delete=models.CASCADE, verbose_name="Véhicule" , related_name='vehicles_infos')
|
||||||
nType = models.CharField('Type', max_length=1, choices=TYPES_CHOICES, default=1)
|
nType = models.CharField('Type', max_length=1, choices=TYPES_CHOICES, default=1)
|
||||||
sDesc = models.TextField("Description")
|
sDesc = models.TextField("Description")
|
||||||
bEnabled = models.BooleanField("Actif",default=1)
|
bEnabled = models.BooleanField("Actif",default=1)
|
||||||
|
@@ -3,12 +3,28 @@ from rest_framework import serializers
|
|||||||
|
|
||||||
from.models import Vehicles_infos, Vehicles
|
from.models import Vehicles_infos, Vehicles
|
||||||
|
|
||||||
class cl_Vehicles_Serializer(serializers.ModelSerializer):
|
|
||||||
class Meta:
|
|
||||||
model = Vehicles
|
|
||||||
fields = '__all__'
|
|
||||||
|
|
||||||
class cl_Vehicles_infos_Serializer(serializers.ModelSerializer):
|
class cl_Vehicles_infos_Serializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Vehicles_infos
|
model = Vehicles_infos
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
|
class cl_Vehicles_Serializer(serializers.ModelSerializer):
|
||||||
|
technique_infos = serializers.SerializerMethodField()
|
||||||
|
matos_infos = serializers.SerializerMethodField()
|
||||||
|
perempt_infos = serializers.SerializerMethodField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Vehicles
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
|
def get_technique_infos(self, obj):
|
||||||
|
enabled_infos = Vehicles_infos.objects.filter(Vehicle=obj, bEnabled=True, nType=1)
|
||||||
|
return cl_Vehicles_infos_Serializer(enabled_infos, many=True).data
|
||||||
|
def get_matos_infos(self, obj):
|
||||||
|
enabled_infos = Vehicles_infos.objects.filter(Vehicle=obj, bEnabled=True, nType=2)
|
||||||
|
return cl_Vehicles_infos_Serializer(enabled_infos, many=True).data
|
||||||
|
def get_perempt_infos(self, obj):
|
||||||
|
enabled_infos = Vehicles_infos.objects.filter(Vehicle=obj, bEnabled=True, nType=3)
|
||||||
|
return cl_Vehicles_infos_Serializer(enabled_infos, many=True).data
|
||||||
|
@@ -6,7 +6,7 @@ from django.template import loader
|
|||||||
from django.views.decorators.clickjacking import xframe_options_exempt
|
from django.views.decorators.clickjacking import xframe_options_exempt
|
||||||
|
|
||||||
from vehicles.models import *
|
from vehicles.models import *
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets, filters
|
||||||
from Reskreen.rest_permission import CustomPermission_DjangoModel_based
|
from Reskreen.rest_permission import CustomPermission_DjangoModel_based
|
||||||
|
|
||||||
from .serializers import cl_Vehicles_Serializer, cl_Vehicles_infos_Serializer
|
from .serializers import cl_Vehicles_Serializer, cl_Vehicles_infos_Serializer
|
||||||
@@ -15,6 +15,9 @@ class VehicleViewset(viewsets.ModelViewSet):
|
|||||||
queryset = Vehicles.objects.all()
|
queryset = Vehicles.objects.all()
|
||||||
serializer_class = cl_Vehicles_Serializer
|
serializer_class = cl_Vehicles_Serializer
|
||||||
permission_classes = [CustomPermission_DjangoModel_based]
|
permission_classes = [CustomPermission_DjangoModel_based]
|
||||||
|
filter_backends = [filters.OrderingFilter]
|
||||||
|
ordering_fields = ['nStatus', 'nType', 'nOrder'] # Les champs sur lesquels vous voulez permettre l'ordering
|
||||||
|
ordering = ['nStatus', 'nType', 'nOrder'] # Ordre par défaut
|
||||||
|
|
||||||
class VehicleInfosViewset(viewsets.ModelViewSet):
|
class VehicleInfosViewset(viewsets.ModelViewSet):
|
||||||
queryset = Vehicles_infos.objects.all()
|
queryset = Vehicles_infos.objects.all()
|
||||||
|
Reference in New Issue
Block a user