python - 获取某个字段是否为NULL

标签 python django

我有以下查询:

territories = Territory.objects.values_list(
              'territory_id', 'territory__name', 'hd_retail_price__isnull'
             ).order_by('territory__name').distinct()

但是,django 会引发错误,指出 hd_retail_price__isnull 不是一个字段(它不是)。有没有办法获取该字段是否为空的 bool 值?否则我的 distinct 将无法工作。

我想要:

SELECT territory_id, territory_name, ISNULL(hd_retail_price) FROM territory

最佳答案

使用.extra:

territories = Territory.objects.extra(
    select={'has_hd': "ISNULL(hd_retail_price)"}
  ).values_list(
    'territory_id', 'territory__name', 'has_hd'
  ).order_by('territory__name').distinct()

关于python - 获取某个字段是否为NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579055/

相关文章:

python - 创建一个新的数据框,统计每个用户的正面和负面推文

python - 如何在 Python 中设置环境变量?

python - 用正则表达式插入字符

python - 将 POST 请求重定向到已使用的 URL (Django)

django - 自定义表单如何将字段输出到 django 中的小部件

python - AttributeError: 'ContactUs' 对象没有属性 'model'

python - 从本地机器发送匿名邮件

python - 如何在keras中输入多个时间序列到LSTM

python - 向 tastypie 发送经过身份验证的 POST 请求

python - 如何将 JSON 数据转换为 python 实例并使用 foreginkey 保存 Django 模型多个表(数据库 sqllite)