#django #timezone #django-queryset
#django #Часовой пояс #django-queryset
Вопрос:
Получите вопрос, который был опубликован в этом году.
>>> from django.utils import timezone
>>> current_year = timezone.now().year
>>> Question.objects.get(pub_date__year=current_year)
<Question: What's up?>
Ответ №1:
Это __year
поиск [Django-doc], который, таким образом, фильтруется по year
pub_date
. Таким образом, это означает, что вы получите вопрос с pub_date
помощью в текущем году (2021).
Поскольку вы используете .get(…)
[Django-doc], это означает, что он выдаст ошибку, если таковой Question
не существует, или если существует несколько таких Question
. Вы должны использовать .filter(…)
[Django-doc] для извлечения всех Question
опубликованных в текущем году (2021), таким образом, это коллекция, которая может содержать ноль, один или несколько элементов.
Комментарии:
1. да, спасибо, эти два тире, когда мы сможем использовать их также в django?
2. @ChaimaeMsaad: это символы подчеркивания , вы используете их для поиска (например
__in
,__lt
, __month` и т. Д.) И Для просмотра отношения (поэтому фильтруйте по полю связанного объекта модели).