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

Обновлено: created_date - это всего лишь пример, поэтому я не могу использовать date.today() из модуля datetime. Также обратите внимание, что конечная цель состоит в том, чтобы сделать слаг с несколькими различными полями, включающими желаемое поле «date_only».

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать Поиск __date [Django-doc] при фильтрации или в F-выражении, или для более старых версий Django вы можете использовать Функция TruncDate [Django-doc].

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

from datetime import date

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

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

В конечном счете, я хочу, чтобы это было в модели, а не как поиск впоследствии. В идеале, чтобы я мог просматривать на странице администратора или создавать поле slug. Возможно ли это с вашим решением?

noblerthanoedipus 09.04.2022 20:11

@noblertanoedipus: created_date — это объект datetime, поэтому вы можете использовать mycomment.created_date.year для получения года или mycomment.created_date.date() для получения объекта date.

Willem Van Onsem 09.04.2022 20:12

Другие вопросы по теме