How can I response to the front a custom-built object in Django/Python?
I’m newbie in building APIs with Django/Python
I built an object in the server side, and I want to send it to the front. I built it on the fly, without a class. it's a dictionary object with arrays in it
def whole_menu(request, restaurant_id):
menu = {}
menu["restaurant"] = Restaurant.objects.get(id=restaurant_id)
menu["categories"] = []
category_serializer = Category.objects.filter(restaurant=restaurant_id)
category_index = 0
for category in category_serializer:
menu["categories"].append({})
menu["categories"][category_index]["name"] = category.name
menu["categories"][category_index]["description"] = category.description
menu["categories"][category_index]["image_url"] = category.image_url
menu["categories"][category_index]["dishes"] = []
dish_serializer = Dish.objects.filter(category=category.id)
dish_index = 0
for dish in dish_serializer:
menu["categories"][category_index]["dishes"].append({})
menu["categories"][category_index]["dishes"][dish_index]["name"] = dish.name
menu["categories"][category_index]["dishes"][dish_index][
"description"
] = dish.description
menu["categories"][category_index]["dishes"][dish_index][
"price"
] = dish.price
menu["categories"][category_index]["dishes"][dish_index][
"image_url"
] = dish.image_url
dish_index = dish_index + 1
category_index = category_index + 1
print(menu)
return HttpResponse(menu)
I tried sending the object with JsonResponse, HttpResponse and even rest_framework.response.Response, but it won’t work
Whit this approach I get restaurantcategories (???)
What could be the way to send a custom-built object to the front?