Манипуляции со списком значений в Django

У меня есть список значений в Django

maca = Orders.objects.all().values_list("order_date")

Но я хочу манипулировать с датой заказа. Она отображается как YYYY-MM-DD, а я хочу изменить формат.

Например

maca = Orders.objects.all().values_list(datetime.strftime("order_date", "%d/%m/%Y")

Это не только этот случай.

Спасибо большое

Если order_date является DateField, то вы получаете Python datetime.date, формат строки которого по умолчанию ISO8601 YYYY-MM-DD.

Если вам нужен другой формат в шаблонах, используйте фильтр date:

{% for date in maca %}
  {{ date|date }}
{% endfor %}

Если вы хотите просто использовать, например, strftime, это просто базовый Python. Обязательно добавьте flat=True к values_list, чтобы получить список дат, а не список 1-кортежей, содержащих даты.

maca = [
    date.strftime("%d/%m/%Y")
    for date
    in Orders.objects.all().values_list("order_date", flat=True)
]
Вернуться на верх