如果条件,我得到错误的结果在我的列表理解。我尝试了一切提示什么可能是错的。错误的结果列表理解编码
po_list = [n for n in Material.objects.all()
if (((F('n.total_inventory') + F('n.total_po') - F('n.total_so'))) < F('n.min_quantity'))]
目前,它总会给材料模型 的所有数据。如果我切换大于/小于符号方向也没有给出数据
编辑 我错误地认为它是自我解释的代码。 正确的结果是只输出来自Material的值,以满足这3个属性的条件计算((F('n.total_inventory')+ F('n.total_po') - F('n。这个代码是Django项目的一部分,而django框架中的F是: 一个F()对象表示的是一个F()它可以引用模型字段值并使用它们执行数据库操作,而无需实际将它们从数据库中拉出到Python内存中。 https://docs.djangoproject.com/en/1.7/ref/models/queries/
我不能仅仅通过这些值进行过滤他们是计算器特德属性。
你知道你有没有解释* *正确的结果是什么,更不用说为什么它是正确的,不是吗? –
什么是'F',你为什么要传递字符串?它看起来不像你的情况以任何方式使用'n'。 – user2357112
确实条件是独立的变量'n' –