Django filter datetime with timezone поле только с датой

У меня есть поле в модели django: "created_at", которое является временем с часовым поясом (пример: 2022-08-09 14:03:18.467482+02). В моем приложении есть форма, в которой пользователь выбирает только дату (пример: 2022-06-09).

Я пытаюсь отфильтровать это поле в моем представлении следующим образом:

res = MyObject.objects.all()
res = res.filter(created_at = date)

Я получаю следующую ошибку: RuntimeWarning: DateTimeField Mybject.created_at received a naive datetime (2022-06-09 00:00:00) while time zone support is active.

Каким образом лучше всего фильтровать мой объект по дате, вводимой пользователем? Нужно ли мне добавлять часовой пояс к выбранной пользователем дате и как?

попробуйте добавить .date() к Created_at, это должно преобразовать объект временной зоны в дату

Datetime имеет атрибуты created_at.date и created_at.time

res = MyObject.objects.all()
res = res.filter(created_at.date = date)

Удалось решить эту проблему, правильный синтаксис - добавление двойного подчеркивания, как здесь:

res = res.filter(created_at__date = date)
Вернуться на верх