【问题标题】:Weird outcome of querying with SQLalchemy使用 SQLalchemy 查询的奇怪结果
【发布时间】:2023-04-02 18:37:02
【问题描述】:

我正在尝试在我的场地表中搜索以资助匹配的名称,奇怪的是我的查询结果是 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。
  • 你说的很对!!!!我不知道我是怎么错过的。谢谢
  • @afbigdad 写一个正确的答案^^,正打算写一个

标签: python database postgresql flask sqlalchemy


【解决方案1】:

错误地,我没有在查询末尾写 .all(),所以 sqlalchamy 打印了查询本身,这是一个很好的功能!!!

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多