什么queryset表达式为可空字段生成“where x!= 123”?

时间:2016-05-25 02:51:22

标签: django

我有一个可以为空的字段:

class Test(models.Model):
    x = models.IntegerField(null=True, blank=True)

我想找到x!= 123的所有实例。

print(Test.objects.filter(x__isnull=False).exclude(x=123).query)
SELECT [...] from testdb_test WHERE (x IS NOT NULL AND NOT (x = 123 AND x IS NOT NULL))

但由于不明原因,我需要查询来精确生成WHERE x != 123。我知道两者在选择哪些记录方面是等价的。

我宁愿不使用extra(),因为文档声明它将来会被弃用。有没有其他方法可以获得WHERE x != 123

0 个答案:

没有答案