decorators.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:djangolab 作者: DhiaTN 项目源码 文件源码
def query_statistic(func):
    @wraps(func)
    def func_wrapper(*args, **kwargs):
        query_count = len(connection.queries)
        time = 0.0
        result = func(*args, **kwargs)
        queries_number = len(connection.queries) - query_count
        performed_query_list = connection.queries[-queries_number:]
        for query in performed_query_list:
            if query['sql'] == 'BEGIN':
                queries_number -= 1  # ignore begin transaction
            else:
                time += float(query['time'])
        message = "[Statistics] : {total} queries performed in {time}s."
        print(message.format(total=queries_number, time=time))
        return result
    return func_wrapper
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号