python - 如何在 ponyorm 中查看带有值的完整查询

标签 python postgresql orm ponyorm

今天我正在使用 sql_debug(True) 帮助我查看查询但没有值。

我怎么能看到 ponyorm 如何用值翻译查询?

非常感谢。 这是我正在使用的查询示例。

    with db_session:
    access = select(p for p in Access if raw_sql('( lower(first_name) = lower($first_name) and  lower(last_name) = lower($last_name) ) '
                                                            'or ( lower(first_name) = lower($last_name) and lower(last_name) = lower($first_name) ) '
                                                            'or (lower(facebook_url) = lower($facebook_url)) '
                                                            'or (lower(twitter_url) = lower($twitter_url)) '
                                                            'or (lower(linkedin_url) = lower($linkedin_url)) '))
        .order_by(desc(Access.twitter_url),desc(Access.facebook_url),desc(Access.linkedin_url),
                  desc(Access.facebook_url))
print(access.get_sql())

最佳答案

我用

logging.getLogger(__name__).debug('SQL:\n\n\t\t\t%s\n', '\n'.join(unicode(x) for x in request._construct_sql_and_arguments()[:2]).replace('\n', '\n\t\t\t'))

为此。 例如,

19:30:01.902 data.py:231 [DEBUG]  SQL:

        SELECT "x"."_id", "x"."filename", "x"."_created", "x"."_updated"
        FROM "reports" "x"
        WHERE "x"."_id" <= ?
          AND "x"."_created" >= ?
        (50, '2019-04-17 19:30:01.900028')

将被打印出来。

关于python - 如何在 ponyorm 中查看带有值的完整查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42367948/

相关文章:

python - (Python/Django) : How do I keep my production db in sync (scheme and data) and with dev pc db?

java - 使用 Hibernate 处理不同表中不同记录的排序

java - 使用 JPA 查找今​​天生日的用户

python - BS4 网络抓取到 CSV 文件,我认为我抓取了太多行 ('tr' )s

python - 如何使用python从excel列中检索一个url,然后用chrome和登录密码打开它?

python - RTMP:使用 Python 检查流是否在线

python - "D"消息中的数据不足

sql - 用另一个列的总和更新列

python - django 重新创建删除的表

python - pytesseract : FileNotFound