【发布时间】:2018-01-13 09:32:41
【问题描述】:
我使用这个函数来运行一个 SQL 查询:
@staticmethod
def find_users(query):
search_job = query
# search_formatted = ' & '.join(words)
sql = ("""SELECT first_name,last_name, email, phone, image, diplome, latitude, longitude, description
FROM users, jobs
WHERE users.id_job = jobs.id
AND jobs.description = ?
""", [search_job])
cursor = db.session.execute(sql)
# {'search_terms': search_job})
# Returns a list of product tuples
return cursor.fetchall()
但我得到了这个错误
2017-08-05 18:54:18,421 信息 sqlalchemy.engine.base.Engine (4L,) 2017-08-05 18:54:18,424 信息 sqlalchemy.engine.base.Engine 提交 127.0.0.1 - - [2017 年 8 月 5 日 18:54:18] “GET / HTTP/1.1” 200 - 127.0.0.1 - - [05/Aug/2017 18:54:19] “GET /static/img/markers_shadow.png HTTP/1.1”404 - 127.0.0.1 - - [05/Aug/2017 18:54:19] “GET /static/fonts/glyphicons-halflings-regular.woff2 HTTP/1.1”404 - 127.0.0.1 - - [05/Aug/2017 18:54:19] “GET /static/fonts/glyphicons-halflings-regular.woff HTTP/1.1”404 - 127.0.0.1 - - [05/Aug/2017 18:54:19] “GET /static/fonts/glyphicons-halflings-regular.ttf HTTP/1.1”404 - [2017-08-05 18:54:23,162] 应用程序中的错误:/auth/search 异常 [GET] Traceback(最近一次调用最后一次):文件 "/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/flask/app.py", 第 1988 行,在 wsgi_app 中 响应 = self.full_dispatch_request() 文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/flask/app.py”, 第 1641 行,在 full_dispatch_request 中 rv = self.handle_user_exception(e) 文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/flask/app.py”, 第 1544 行,在 handle_user_exception 中 reraise(exc_type,exc_value,tb)文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/flask/app.py”, 第 1639 行,在 full_dispatch_request 中 rv = self.dispatch_request() 文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/flask/app.py”, 第 1625 行,在 dispatch_request 中 返回 self.view_functionsrule.endpoint 文件“/home/alaoui/Documents/ProjetHandy/handy_2/app/auth/views.py”,行 194,在 search_handyman handymans = User.find_handymans(search_query) 文件“/home/alaoui/Documents/ProjetHandy/handy_2/app/models.py”,第 88 行, 在 find_handymans cursor = db.session.execute(sql) 文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/sqlalchemy/orm/scoping.py”, 第 157 行,在做 返回 getattr(self.registry(), name)(*args, **kwargs) 文件 "/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/sqlalchemy/orm/session. py", 第 1101 行,在执行中 子句=表达式._literal_as_text(子句)文件“/home/alaoui/Documents/ProjetHandy/venv-handy/lib/python2.7/site-packages/sqlalchemy/sql/elements.py”, 第 4238 行,在 _literal_as_text 中 "instead" % type(element) ArgumentError: SQL expression object or string expected, got object of type instead
【问题讨论】:
-
您是否运行过调试器并验证
search_job是否正确? -
从终端添加完整的错误堆栈跟踪