Я пытаюсь выполнить поиск в своей таблице мест проведения, чтобы найти подходящее имя, странно то, что результатом моего запроса является перевод на SQL !!! Я не знаю, почему это происходит, и если кто-нибудь знает, пожалуйста, научите меня, почему?
это мой код:
переменная ответа является фиктивной.
term_to_search_by = request.form.get('search_term')
list_of_matches = Venue.query.filter(Venue.name.ilike(f'%{term_to_search_by}%'))
print(list_of_matches)
response = {
"count": 1,
"data": [{
"id": 2,
"name": "The Dueling Pianos Bar",
"num_upcoming_shows": 0,
}]
}
return render_template('pages/search_venues.html', results=response, search_term=request.form.get('search_term', ''))
и вот что он печатает:
127.0.0.1 - - [14/Dec/2020 17:59:46] "POST /venues/search HTTP/1.1" 200 -
SELECT venue.id AS venue_id, venue.name AS venue_name, venue.genres AS venue_genres, venue.website AS venue_website, venue.seeking_talent AS venue_seeking_talent, venue.seeking_description AS venue_seeking_description, venue.city AS venue_city, venue.state AS venue_state, venue.address AS venue_address, venue.phone AS venue_phone, venue.image_link AS venue_image_link, venue.facebook_link AS venue_facebook_link
FROM venue
WHERE venue.name ILIKE %(name_1)s
Спасибо за ваше время!
вы абсолютно правы!!!! Я не знаю, как я пропустил это. Спасибо
@afbigdad напиши правильный ответ ^^
, собирался написать
по ошибке я не написал .all() в конце запроса, поэтому sqlalchamy напечатал сам запрос, что очень важно!!!
Попробуйте `print(list_of_matches.all())` - вам нужно выполнить запрос, вызвав
.all()
или аналогичный, иначе это просто запрос, поэтому при печати выводится SQL.