Если вы украшаете свой метод с помощью
@click.option('--format', '-f', 'format_arg_name')
def plug(format_arg_name):
print(format_arg_name)
, он отобразит параметр в параметр format_arg_name
.
format_arg_name
не будет доступна в командной строке .
Я помню, что планировалось добавить поиск по полю __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))
в 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())
Вы также можете сделать что-то вроде этого:
today = date.today()
invoice_for_today = Invoice.objects.filter(date__year=today.year, date__month=today.month, date__day=today.day)
Попробуйте использовать клавиши date__gte
и date__lte
. Вы можете передать два объекта даты и времени, обозначающих границы того, что вы хотите сопоставить.
obj = TeachersPlanner.objects.filter(date__startswith=date.today())
В 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))
Чтобы получить записи из За последние 24 часа вы можете использовать:
from datetime import datetime, timedelta
Entry.objects.filter(pub_date__gte = datetime.now() - timedelta(days=1))