Я пытался получить объект Model из хранилища данных, используя ключ, переданный из строки запроса. Это работало до этого, однако, недавно, когда я назвал файл из restaurantProfile.html в restaurant_profile.html. Я не знаю, из какой части произошла ошибка.
Ключ от моего ресторана должен содержать ключ. Однако из журнала GAE я установил пользовательскую отладку, чтобы увидеть, что содержится в ключе Restaurant, переданном моему обработчику (Результат):
GAE Log:
Restaurant Key = <bound method Restaurant.key of <persistence.model.Restaurant object at 0x5cd3c5acd5768900>>
Может кто-нибудь сказать мне, что здесь не так? Ключ от ресторана, похоже, не передан обработчику.
<a href="/restaurant_profile?restaurant_key={{ key }}">
Класс обработчика:
* * 1010
Ошибка: «недопустимый литерал для int () с основанием 10» для следующего:
def get_RestaurantDetails(restaurant_key):
if restaurant_key:
restaurant = db.Key.from_path('Restaurant', int(restaurant_key))
return db.get(restaurant)
Код для получения ключа:
for restaurant in foundRestaurants:
result_data[restaurant.key] = restaurant
Проблема решена следующим образом:
key = restaurant.key().__str__()
result_data[key] = restaurant