django автоконвертация свойства datetime - PullRequest
0 голосов
/ 17 марта 2011

мое свойство datetime сохраняется в mysql в этом формате. 2011-03-17 00:00:00, но после fetchind данных с функцией фильтра он дает полночь 17 марта 2011 года, но я не сказал, чтобы делать что-либо подобное задача. Мой вопрос заключается в том, как я могу настаивать на том, чтобы django отображал то же значение, что и в MYSQL.

Ответы [ 2 ]

1 голос
/ 17 марта 2011

вы захотите использовать формат datetime, django DateTimeField [1] действительно является оберткой для datetime.datetime.

в шаблонах вы можете использовать фильтр даты [2] для применения желаемого формата, например:

{{ item.date|date:"Y-m-d H:i:s" }}

Это должно распечатать 2011-03-17 00:00:00в шаблоне.В представлениях используйте datetimes.strftime [3]

[1] http://docs.djangoproject.com/en/dev/ref/models/fields/#datetimefield

[2] http://docs.djangoproject.com/en/1.2/ref/templates/builtins/#date

[3] http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior

0 голосов
/ 17 марта 2011

У меня такое ощущение, что ваша схема базы данных знает, что это дата, верно? В этом случае он хранится не в том формате, который вы описали, а в виде некоторого представления, например, секунд, прошедших с эпохи.

Это означает, что когда вы извлекаете его, ваш код должен что-то с ним делать, чтобы он выглядел правильно. Если вы не скажете, как это выглядит, он по умолчанию будет соответствовать формату, который вы видите, но если вы используете strftime в своем коде Python и фильтр в своих шаблонах, вы можете заставить его выглядеть так, как вам нравится, включая исходный формат, который вы видел это.

Конечно, самый простой выход - сохранить его в БД в виде текста ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...