adapter api-vhc
This commit is contained in:
@@ -75,7 +75,7 @@ class Vehicles(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)
|
||||
sDesc = models.TextField("Description")
|
||||
bEnabled = models.BooleanField("Actif",default=1)
|
||||
|
@@ -3,12 +3,28 @@ from rest_framework import serializers
|
||||
|
||||
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 Meta:
|
||||
model = Vehicles_infos
|
||||
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 vehicles.models import *
|
||||
from rest_framework import viewsets
|
||||
from rest_framework import viewsets, filters
|
||||
from Reskreen.rest_permission import CustomPermission_DjangoModel_based
|
||||
|
||||
from .serializers import cl_Vehicles_Serializer, cl_Vehicles_infos_Serializer
|
||||
@@ -15,6 +15,9 @@ class VehicleViewset(viewsets.ModelViewSet):
|
||||
queryset = Vehicles.objects.all()
|
||||
serializer_class = cl_Vehicles_Serializer
|
||||
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):
|
||||
queryset = Vehicles_infos.objects.all()
|
||||
|
Reference in New Issue
Block a user