获取字段是否为NULL

时间:2014-10-26 23:13:53

标签: 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不是一个字段(它不是)。有没有办法得到一个关于该字段是否为空的布尔值?否则我的distinct无法工作。

我希望:

SELECT territory_id, territory_name, ISNULL(hd_retail_price) FROM territory

1 个答案:

答案 0 :(得分:1)

使用.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()