Как в Django/Python я могу вывести на передний план объект, созданный на заказ?

Я новичок в создании API с помощью Django/Python

Я создал объект на стороне сервера, и хочу отправить его на фронт. Я создал его на лету, без класса. Это объект словаря с массивами в нем

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)

Я пробовал отправлять объект с помощью JsonResponse, HttpResponse и даже rest_framework.response.Response, но это не работает

При таком подходе я получаю restaurantcategories (???)

Каким может быть способ отправки пользовательского объекта на фронт?

Вернуться на верх