Запрос даты и времени к сегодняшней дате в Джанго

Если вы украшаете свой метод с помощью

@click.option('--format', '-f', 'format_arg_name')
def plug(format_arg_name):
    print(format_arg_name)

, он отобразит параметр в параметр format_arg_name.

format_arg_name не будет доступна в командной строке .

29
задан Brenden 27 August 2011 в 22:32
поделиться

7 ответов

Я помню, что планировалось добавить поиск по полю __date, чтобы сделать это проще, но в его нынешнем виде «стандартный» способ сделать это -

today_min = datetime.datetime.combine(datetime.date.today(), datetime.time.min)
today_max = datetime.datetime.combine(datetime.date.today(), datetime.time.max)
Invoice.objects.get(user=user, date__range=(today_min, today_max))
48
ответ дан mdw7326 27 August 2011 в 22:32
поделиться

в django < 1.9

from django.utils.timezone import datetime #important if using timezones
today = datetime.today()
foo_for_today = Foo.objects.filter(datefield__year=today.year, datefield__month=today.month, datefield__day=today.day)

в django> 1.9, поскольку они добавили ключевое слово даты

foo_for_today = Foo.objects.filter(datefield__date=datetime.date.today())
17
ответ дан Zorawar 27 August 2011 в 22:32
поделиться

Вы также можете сделать что-то вроде этого:

today = date.today()
invoice_for_today = Invoice.objects.filter(date__year=today.year, date__month=today.month, date__day=today.day)
24
ответ дан Peppelorum 27 August 2011 в 22:32
поделиться

Попробуйте использовать клавиши date__gte и date__lte. Вы можете передать два объекта даты и времени, обозначающих границы того, что вы хотите сопоставить.

6
ответ дан jtbandes 27 August 2011 в 22:32
поделиться
obj = TeachersPlanner.objects.filter(date__startswith=date.today())
8
ответ дан suhailvs 27 August 2011 в 22:32
поделиться

В Django 1.9 есть новый поиск полей __date, который вы можете использовать:

Entry.objects.filter (pub_date__date = datetime.date (2005, 1, 1)) Entry.objects.filter (pub_date__date__gt = datetime.date (2005, 1, 1))

Queryset API

4
ответ дан Simeon Leyzerzon 27 August 2011 в 22:32
поделиться

Чтобы получить записи из За последние 24 часа вы можете использовать:

from datetime import datetime, timedelta

Entry.objects.filter(pub_date__gte = datetime.now() - timedelta(days=1)) 
1
ответ дан Gal Bracha 27 August 2011 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: