gpt4 book ai didi

python - 如何处理 Django 查询中的 "None"DB 值

转载 作者:太空狗 更新时间:2023-10-29 20:46:38 26 4
gpt4 key购买 nike

我有以下执行 SQL OR 语句的过滤器查询:

results = Stores.objects.filter(Q(title__icontains=prefs.address1) | Q(title__icontains=prefs.address2))

这工作正常,但如果 prefs.address1 和 prefs.address2 值(来自另一个模型)在 mySQL 中为空,Django 会报错并出现以下错误:

Cannot use None as a query value

在构造 OR 过滤器查询之前,是否有一种优雅的方法来检查我的过滤器值是否不为空?

非常感谢。

最佳答案

您可以这样做,这很容易推广到更多查询

query = Q()
for search in (prefs.address1, prefs.address2):
if search:
query |= Q(title__icontains=search)
results = Stores.objects.filter(query)

关于python - 如何处理 Django 查询中的 "None"DB 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1813653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com