我有以下查询:
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
答案 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()