2016-08-11 2 views
-3
SELECT * FROM mytable 
WHERE 
'2016-08-05' BETWEEN from_date AND COALESCE(to_date,CURDATE()) 
OR 
'2016-08-11' BETWEEN from_date AND COALESCE(to_date,CURDATE() 

Выше запроса в mysql. Как написать этот запрос в Django? MyTable это имя объекта в Django, которая отображает на туЬаЫе таблицы MySQLКак преобразовать запрос в django ORM

ответ

1

Самый простой путь

Читайте о Raw SQL

MyTable.objects.raw(your_sql) 

Более сложный

Читайте перевод информации о QuerySet.extra

MyTable.objects.all().extra(where="'2016-08-05' BETWEEN from_date AND COALESCE(to_date,CURDATE()) OR '2016-08-11' BETWEEN from_date AND COALESCE(to_date,CURDATE())")