如何在django中禁用南调试日志记录?

lfa*_*des 13 testing django debugging django-south

当我在Django中运行我的测试时,失败后我从南方获得了几页调试输出,如下所示:

south: DEBUG: south execute "CREATE INDEX "sometable_4d5bad5" ON "video_playable" ("network_id");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_790e6d98" ON "video_playable" ("published");" with params "[]"
south: DEBUG: south execute "CREATE INDEX "sometable_72312277" ON "video_playable" ("archived");" with params "[]"
Run Code Online (Sandbox Code Playgroud)

并且通过所有这些日志记录输出,相关的错误消息在垃圾海中丢失.有没有办法禁用这个输出?

gue*_*tli 15

把它放在代码中的某个地方.我有它myapp/migrations/__init__.py

import logging
south_logger=logging.getLogger('south')
south_logger.setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)


Ale*_*ich 7

您可以设置SOUTH_TESTS_MIGRATEFalsesetting.py.这将禁用测试期间的所有迁移.我知道这不完全是你想要的,但希望会很有用

如果这是False,则South的测试运行器集成将使用syncdb创建测试数据库,而不是通过迁移(默认).如果迁移每次运行都需要很长时间才能进行迁移,请将此设置为False,但如果您依赖迁移来执行特殊操作则要小心.