Проблема взаимосвязи вложенных сериализаторов в Django?
поскольку я определил вложенные отношения сериализатора к изображениям продуктов, но я не могу устранить неполадки, почему это не включено в мой API. нет запроса, выполняемого как класс коллекции. как показано на изображениях
запрос выполнен на следующем наборе представлений
viewset
class ProductViewSet(ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
filterset_class = ProductFilter
pagination_class = DefaultPagination
permission_classes = [IsAdminOrReadOnly]
search_fields = ['title', 'description']
ordering_fields = ['unit_price', 'last_update']
def get_serializer_context(self):
return {'request': self.request}
def destroy(self, request, *args, **kwargs):
if OrderItem.objects.filter(product_id=kwargs['pk']).count() > 0:
return Response({'error': 'Product cannot be deleted because it is associated with an order item.'}, status=status.HTTP_405_METHOD_NOT_ALLOWED)
return super().destroy(request, *args, **kwargs)
serializers
class **[ProductImageSerializer]**(serializers.ModelSerializer):
def create(self, validated_data):
product_id = self.context['product_id']
return ProductImage.objects.create(product_id = product_id, **validated_data)
class Meta:
model = ProductImage
fields = ['id', 'image']
class ProductSerializer(serializers.ModelSerializer):
price_with_tax = serializers.SerializerMethodField(
method_name='calculate_tax')
def calculate_tax(self, product: Product):
return product.unit_price * Decimal(1.1)
**images = ProductImageSerializer(many=True, read_only = True)**
class Meta:
model = Product
fields = ['id', 'title', 'description', 'slug', 'inventory',
'unit_price', 'price_with_tax', 'collection', **'images'**,]