Получение абсолютного URL изображения с помощью django-treebeard tree responce
Здравствуйте, в настоящее время я реализовал пакет django-treebeard
для структуры дерева архива для categories
.
Здесь я столкнулся с проблемой в ответе с URL изображения.
Я не вижу Absolute URL
категорий изображений
NOTE - сериализатор не работает с этой рекурсивной древовидной структурой. Я уже знаю, что вы можете передать
context = {'request':request}
в сериализатор, но в моем случае он не работает, потому что это рекурсивная древовидная структура.
views.py
class CategoryAPI(APIView):
def get(self, request):
try:
if CategoryModel.objects.count() > 0:
categories = CategoryModel.dump_bulk()
# serializer = CategorySerializer(instance=categories, many=True)
# print(serializer)
return Response({"status":True,"categories":categories}, status=status.HTTP_200_OK)
else:
return Response({'message': 'Categories not found.'}, status=status.HTTP_200_OK)
except Exception as e:
return Response({'error':str(e)})
APi GET
Responce выглядит так
{
"status": true,
"categories": [
{
"data": {
"name": "Fruits",
"image": "Categories/download_3_Vg6Rv37.jfif"
},
"id": 1,
"children": [
{
"data": {
"name": "Apple",
"image": "Categories/download_6zbqDvn.jfif"
},
"id": 2,
"children": [
{
"data": {
"name": "Green Kasmiri Apple",
"image": "Categories/download_2_HaMCXyc.jfif"
},
"id": 10
}
]
},
{
"data": {
"name": "Banana",
"image": "Categories/download_4_Mn5h9nL.jfif"
},
"id": 3
},
{
"data": {
"name": "Mango",
"image": "Categories/download_5_4RkBFcS.jfif"
},
"id": 5
},
{
"data": {
"name": "Orange",
"image": "Categories/download_6_vWVEQgm.jfif"
},
"id": 4
}
]
},
{
"data": {
"name": "Health",
"image": "Categories/images_fwp1mBB.jfif"
},
"id": 6
}
]
}
Я хочу ответить так
{
"status": true,
"categories": [
{
"data": {
"name": "Fruits",
"image": "http://127.0.0.1:8000/media/Categories/download_3_Vg6Rv37.jfif"
},
"id": 1,
"children": [
{
"data": {
"name": "Apple",
"image": "http://127.0.0.1:8000/media/Categories/download_6zbqDvn.jfif"
},
"id": 2,
"children": [
{
"data": {
"name": "Green Kasmiri Apple",
"image": "http://127.0.0.1:8000/media/Categories/download_2_HaMCXyc.jfif"
},
"id": 10
}
]
},
{
"data": {
"name": "Banana",
"image": "http://127.0.0.1:8000/media/Categories/download_4_Mn5h9nL.jfif"
},
"id": 3
},
{
"data": {
"name": "Mango",
"image": "http://127.0.0.1:8000/media/Categories/download_5_4RkBFcS.jfif"
},
"id": 5
},
{
"data": {
"name": "Orange",
"image": "http://127.0.0.1:8000/media/Categories/download_6_vWVEQgm.jfif"
},
"id": 4
}
]
},
{
"data": {
"name": "Health",
"image": "http://127.0.0.1:8000/media/Categories/images_fwp1mBB.jfif"
},
"id": 6
}
]
}