РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
153 of 818 menu

Класс Now

Класс Now применяется в запросах Django для получения текущей даты и времени на стороне базы данных. Он возвращает объект времени, соответствующий моменту выполнения запроса. В отличие от Python-функции datetime.now, значение вычисляется непосредственно в базе данных, что гарантирует единообразие времени для всех записей в одном запросе. Класс принимает необязательный аргумент tzinfo для указания часового пояса.

Синтаксис

from django.db.models import Now Now(tzinfo=None)

Пример

Давайте обновим поле 'last_modified' у всех статей, установив в него текущую дату и время:

from myapp.models import Article from django.db.models import Now updated_count = Article.objects.update(last_modified=Now()) print(updated_count)

Результат выполнения кода:

"15"

Пример

Давайте добавим новую статью, установив поле 'created_at' в текущую дату и время с помощью класса Now:

from myapp.models import Article from django.db.models import Now article = Article.objects.create( title="New article", content="Article content", created_at=Now() ) print(article.title) print(article.created_at)

Результат выполнения кода:

"New article" "2026-09-05 14:30:15.123456+00:00"

Пример

Давайте отфильтруем статьи, созданные до текущего момента с использованием класса Now:

from myapp.models import Article from django.db.models import Now old_articles = Article.objects.filter( created_at__lt=Now() ) for article in old_articles: print(article.title)

Результат выполнения кода:

"First article" "Second article" "Third article"

Пример

Давайте аннотируем статьи полем 'current_time', содержащим текущую дату и время, и выведем результат:

from myapp.models import Article from django.db.models import Now, Value, F articles = Article.objects.annotate( current_time=Now() ).values('title', 'current_time') for article in articles: print(article)

Результат выполнения кода:

[{'title': 'First article', 'current_time': datetime.datetime(2026, 9, 5, 14, 30, 15, 123456, tzinfo=datetime.timezone.utc)}, {'title': 'Second article', 'current_time': datetime.datetime(2026, 9, 5, 14, 30, 15, 123456, tzinfo=datetime.timezone.utc)}]

Смотрите также

  • класс F,
    который позволяет выполнять операции с полями моделей на уровне базы данных
  • класс Extract,
    который извлекает часть даты или времени из поля
  • класс Trunc,
    который обрезает дату и время до заданной точности
  • метод datetimes,
    который возвращает список дат и времени из QuerySet
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить