2014-10-26 3 views
1

У меня есть следующий запрос:Получит ли поле NULL или нет

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

Однако, Джанго выдает ошибку, что hd_retail_price__isnull не является полем (это не так). Есть ли способ получить значение boolean относительно того, является ли поле нулевым или нет? В противном случае мой distinct не будет работать.

Я хочу иметь:

SELECT territory_id, territory_name, ISNULL(hd_retail_price) FROM territory 

ответ

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() 
Смежные вопросы