我正在开发一个Django项目,我想在the docs中使用Q对象。
为了保持一切可读性并且每行不超过80个字符,我已经接近它了:
contains_system = Q(systems__system_name__icontains=system)
is_alert = Q(is_alert=True)
posts = Post.objects.filter(contains_system & ~is_alert)
这是奇怪的事情发生的时候。它保存得很好,但在保存后,波形符(~
)被删除。因此,下次我编辑文件并保存时,它会在没有波形符号的情况下保存,从而破坏了我的系统。
我知道我可以做到以下几点,但我不喜欢它。
q1 = Q(systems__system_name__icontains=system)
q2 = Q(is_alert=False) # Changed to False
posts = Post.objects.filter(q1 & q2)
我正在使用Sublime Text 3,我没有任何可能影响此功能的用户设置。 我安装了GitGutter和Python Flake8Lint。我是OSX Mavericks的。
有谁知道为什么会这样?