added domain to product.image url

This commit is contained in:
Sam
2021-02-17 11:31:39 +00:00
parent e6c83ef633
commit cf600a8c1b
2 changed files with 19 additions and 2 deletions

View File

@@ -10,12 +10,29 @@ class ProductSerializer(TaggitSerializer, serializers.ModelSerializer):
tags = TagListSerializerField(required=False)
category = SingleTagSerializerField(required=False) # main tag category
attributes = TagListSerializerField(required=False)
# image = serializers.SerializerMethodField()
class Meta:
model = Product
exclude = ['created', 'updated', 'creator']
class ProductSearchSerializer(TaggitSerializer, serializers.ModelSerializer):
tags = TagListSerializerField(required=False)
category = SingleTagSerializerField(required=False) # main tag category
attributes = TagListSerializerField(required=False)
image = serializers.SerializerMethodField()
class Meta:
model = Product
exclude = ['created', 'updated', 'creator']
def get_image(self, instance):
request = self.context.get('request')
return request.build_absolute_uri(instance.image.url)
class TagFilterSerializer(TaggitSerializer, serializers.ModelSerializer):
tags = TagListSerializerField(required=False)

View File

@@ -18,7 +18,7 @@ from rest_framework.decorators import api_view, permission_classes, action
import requests
from products.models import Product
from products.serializers import ProductSerializer, TagFilterSerializer
from products.serializers import ProductSerializer, TagFilterSerializer, ProductSearchSerializer
from companies.models import Company
from history.models import HistorySync
@@ -175,7 +175,7 @@ def product_search(request):
# extract filters from result_set
filters = extract_search_filters(result_set)
# serialize and respond
product_serializer = ProductSerializer(result_set, many=True)
product_serializer = ProductSearchSerializer(result_set, many=True, context={'request': request})
return Response(data={"filters": filters, "products": product_serializer.data})
except Exception as e:
return Response({"errors": {"details": str(type(e))}}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)