Странный результат запроса с помощью SQLalchemy

Я пытаюсь выполнить поиск в своей таблице мест проведения, чтобы найти подходящее имя, странно то, что результатом моего запроса является перевод на 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

Спасибо за ваше время!

Попробуйте `print(list_of_matches.all())` - вам нужно выполнить запрос, вызвав .all() или аналогичный, иначе это просто запрос, поэтому при печати выводится SQL.

snakecharmerb 14.12.2020 16:27

вы абсолютно правы!!!! Я не знаю, как я пропустил это. Спасибо

afbigdad 14.12.2020 16:29

@afbigdad напиши правильный ответ ^^, собирался написать

Abdur-Rahmaan Janhangeer 14.12.2020 17:55
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

по ошибке я не написал .all() в конце запроса, поэтому sqlalchamy напечатал сам запрос, что очень важно!!!

Другие вопросы по теме