在编程里,查询是很常见的。今天就Django中的一个查询方法跟大家进行分享。
我想知道如何在django中写一个“不在”样式查询。
例如,我想的查询结构将看起来像这样。
select table1.* from table1 where table1.id not in ( select table2.key_to_table1 from table2 where table2.id = some_parm )
django语法将如何假设模型称为table1和table2?
table1.objects.exclude(id__in =
table2.objects.filter(your_condition).values_list(‘id’,flat = True))
exclude函数的工作原理类似于Not运算符,你在哪里要求。属性flat = True告诉table2查询将value_list作为一级列表返回。所以…最后,您正在从table2获取ID列表,您将要使用它来定义table1中的条件,这将被exclude函数拒绝。
以上就是Django中in和not in的用法 。更多Python学习推荐:PyThon学习网教学中心。