Что такое запрос django, чтобы найти записи, в которых нет даты поиска между двумя столбцами? - PullRequest
0 голосов
/ 08 ноября 2018
"select * from resource_management 
 where ('2015-11-08' between employee_effective_start_date and
                             employee_effective_end_date )"

Я хочу, чтобы вышеуказанный sql-запрос выполнялся с использованием Django orm (QUERYS). Может кто-нибудь, пожалуйста, помогите мне, как он должен быть оформлен в Django. Используется ли аннотация!

Спасибо, что заглянули.

1 Ответ

0 голосов
/ 08 ноября 2018

Аннотации не нужны. Предполагая, что employee_effective_start_date и employee_effective_end_date являются полями (дата) модели ResourceManagement, что так же тривиально, как

ResourceManagement.objects.filter(
    employee_effective_start_date__lt='2015-11-08',
    employee_effective_end_date__gt='2015-11-08'
)

будет работать. Если вы хотите быть как можно более независимыми от локали и базы данных, вы можете заменить '2015-11-08' на 'datetime(2015, 11, 8)'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...