Расширить модель в бэкенде
У меня есть следующий сериализатор
class OrdenTrabajoserializer(BaseSerializer):
class Meta:
model = Orden_trabajo
fields = '__all__'
expandable_fields = {
'vehiculo': (Vehiculoserializer, { 'many': False }),
'asesor': (Tecnicoserializer, { 'many': False }),
'servicio_orden_registro': (Orden_registroserializer2, { 'many': True })
}
когда я делаю запрос с фронтенда и мне нужно расширенное поле, я выполняю конечную точку и она правильно приносит мне расширенный объект
unexpanded
{{url...}}/
response:
{
orden: 1,
.
.
.
vehiculo: 32
}
расширенный
{{url...}}/?expand=vehiculo/
response:
{
orden: 1,
.
.
.
vehiculo: { id: 32, color: 'blue', ...data }
}
проблема в том, что я хочу сделать то же самое, но непосредственно в бэкенде
это набор представлений, согласно информации, которую я искал, он говорит мне, что я должен поставить 'permit_list_expands'
но я не знаю, что делать, чтобы иметь возможность использовать это и расширить его...
class facturarOrdenV2viewSet(generics.ListAPIView):
queryset = Orden_trabajo.objects.all()
serializer_class = OrdenTrabajoserializer
permit_list_expands = ['vehiculo', 'asesor', 'servicio_orden_registro']
def post(self, request, *args, **kwargs):
orden = self.kwargs.get('orden', None)
ordenTrabajo = self.queryset.get(pk = orden)
dict_obj = model_to_dict(ordenTrabajo)
print(dict_obj)
return Response({'OK'})