Поле даты 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.