Поле даты Django, полученное из поля временной метки

У меня есть поле created_date:

class Comment(models.Model):
    created_date = models.DateTimeField(auto_now_add=True)

Мне нужно поле, производное от created_date, которое в идеале существует в модели. Я знаю, что в SQL я могу сделать:

SELECT created_date::date
FROM Comment

Как мне определить это в модели Django?

You can use the __date lookup [Django-doc] when filtering or in F-expression, or for older versions of Django you can use the TruncDate function [Django-doc].

Так, например, вы можете отфильтровать Comment за определенную дату с помощью:

from datetime import date

Comment.objects.filter(created_date__date=date(2022, 4, 9))

Использование …_date однако не имеет особого смысла: это объект datetime, поэтому имя вашего поля намекает на то, что это DateField, лучше использовать created, или created_timestamp.

Вернуться на верх