记录不会显示阵列
问题描述:
软件
- 的Django 1.9
- 的Python 3.4
我做了什么结果?
,我有以下的Django的代码在我的views.py记录不会显示阵列
from django.db import connection
cursor = connection.cursor()
cursor.execute('SELECT p.name, p.name_zh_hans, p.art_number, ....')
rows = cursor.fetchall()
logger = logging.getLogger(__name__)
for row in rows:
row_num += 1
logger.info(row)
for col_num in range(len(row)):
ws.write(row_num, col_num, row[col_num], font_style)
我是怎么得到的日志文件里面?
(0.005) SELECT p.name, p.name_zh_hans, p.art_number, ....; args=None
(0.005) SELECT p.name, p.name_zh_hans, p.art_number, ....; args=None
(0.006) SELECT p.name, p.name_zh_hans, p.art_number, ....; args=None
我期待什么?
的日志文件
出了什么问题内部数组内容显示?
答
在致电logging.getLogger(__name__)
之前,您可能需要设置logging.basicConfig(level=logging.INFO)
。
您可以查看Logging Cookbook的详细指南。
答
我相信,你所看到的实际上是从django.db.backends,结帐this reference的日志。
有关代码与数据库交互的消息。例如,对于 示例,由请求 执行的每个应用程序级SQL语句都将记录在此记录器的DEBUG级别。
消息给该记录器有以下额外的上下文:
时间:执行SQL语句所用的时间。
sql:已执行的SQL 语句。
params:在SQL调用中使用的参数 。
出于性能方面的原因,只有在settings.DEBUG设置为True时才启用SQL日志记录 ,而不管日志记录级别或安装的 处理程序。此日志记录不包括框架级初始化(例如SET TIMEZONE)或事务管理查询(例如BEGIN,COMMIT和 ROLLBACK)。如果您希望查看 所有数据库查询,请打开数据库中的查询日志记录。
您与水平日志级别信息同时django.db.backends在DEBUG级别登录日志,以便结账也是你的日志处理程序,以确保您实际记录,你是不是有什么: )
希望它有帮助!
你在哪里配置了日志记录?为什么在Django中使用纯SQL? –
您能告诉我们您的表中有多少行?我需要知道它是为了确定我的想法:) – Sid