0

ログ レベルを INFO に設定すると、データが出力されなくても、次の行の両方によってクエリセットが評価されます。

logger.debug("Count is %s"%Widget.objects.count())
logger.debug("Count is %s", Widget.objects.count())

これを回避する方法はありますか?

4

2 に答える 2

2

ここで答えを見つけました:

https://stackoverflow.com/a/4149190/390973

class Lazy(object):
    def __init__(self,func):
        self.func=func
    def __str__(self):
        return self.func()

logger.debug(Lazy(lambda: "Count is %s"%Widget.objects.count()))
于 2013-06-24T15:49:49.073 に答える
0

唯一の方法は、変数に値を格納することです

obj_count = Widget.objects.count()
logger.debug("Count is %d"% obj_count)
logger.debug("Count is %d", obj_count)
于 2013-06-23T06:51:47.113 に答える