【问题标题】:How to use NOT IN sql query in django [duplicate]如何在 django 中使用 NOT IN sql 查询 [重复]
【发布时间】:2019-12-31 05:47:13
【问题描述】:

我是 Django 新手。任何人都可以帮我在 django 中编写“Not In”的 sql 查询。 这里我使用了 raw() 查询集,没有 raw() 查询集如何在 django 中编写这个查询。

query = 'SELECT basic_uom FROM uom_master WHERE id="'+ id +'" and basic_uom not in (SELECT next_uom from uom_master WHERE id="'+ id +'") and basic_uom not in(SELECT std_uom FROM std_uom_master WHERE id"'+ id +'")ORDER BY next_uom ASC'
data = uom_master.objects.raw(query)

【问题讨论】:

  • 你得到什么错误..?
  • 显示sql查询有错误

标签: sql django


【解决方案1】:

如果[1,2,3] 是您的列表,那么您可以这样做,根据您的表名进行修改

uom_master.objects.filter(id=some_id).exclude(id__in=[1,2,3]).order_by("next_uom")

要获取 id 列表,您可以这样做

list_of_ids = std_uom_master.objects.filter().values_list("id",flat=True)

filter 是您的过滤条件, exclude 是要省略的记录。

filters like id__inguide about making queries

【讨论】:

  • 这里不用打filter()
  • 是的,你是对的,但是 OP 有 where 子句而不是这里 WHERE id="'+ id +'") and basic_uom not in @JPG
  • @Yugandhar Chaudhari 谢谢,现在我明白了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 2015-02-23
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
相关资源
最近更新 更多