Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 14, 2010 13:07:37

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

есть уже действующая боевая база и в ней поле date_create
если models.DateField()
то по умолчанию выводит так :

Oct. 8, 2010, 2:37 p.m.
я хочу так:
date_create = models.DateField(input_format='%Y-%m-%d %H:%M:%S')
это вызывает ошибку :
TypeError: __init__() got an unexpected keyword argument 'input_format'
ну прям жизнь не справедлива :(, можно это как то исправить или есть другой способ задания формата даты ?



Офлайн

#2 Окт. 14, 2010 13:42:44

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

формат времени в моделях

Выводит в шаблоне или где?



Офлайн

#3 Окт. 14, 2010 13:56:25

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

Там же черным по белому написано, что нет такого параметра.
Есть параметр input_formats



Офлайн

#4 Окт. 14, 2010 15:16:49

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

dissdoc
Там же черным по белому написано, что нет такого параметра.
Есть параметр input_formats
перевести то я перевел , а вот как этот самый input_formats сделать я хз, вот и решил у большого общества спросить…
TypeError: __init__() got an unexpected keyword argument 'input_formats'
svas
Выводит в шаблоне или где?
выводит на сервере
Validating models...
Unhandled exception in thread started by <function inner_run at 0xddc2a8>
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
self.validate(display_num_errors=True)
File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)
File "/usr/lib/python2.6/site-packages/django/core/management/validation.py", line 28, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/lib/python2.6/site-packages/django/db/models/loading.py", line 146, in get_app_errors
self._populate()
File "/usr/lib/python2.6/site-packages/django/db/models/loading.py", line 61, in _populate
self.load_app(app_name, True)
File "/usr/lib/python2.6/site-packages/django/db/models/loading.py", line 78, in load_app
models = import_module('.models', app_name)
File "/usr/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/var/www/html/бла бла бла/models.py", line 25, in <module>
class actions(models.Model):
File "/var/www/htmlбла бла бла/models.py", line 26, in actions
date_create = models.DateField(input_formats='%Y-%m-%d %H:%M:%S')
File "/usr/lib/python2.6/site-packages/django/db/models/fields/__init__.py", line 597, in __init__
Field.__init__(self, verbose_name, name, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'input_formats'



Отредактировано (Окт. 14, 2010 15:17:20)

Офлайн

#5 Окт. 14, 2010 16:11:47

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

проблема решена :
делаем так

date_create = models.DateField()
потом идем в шаблон и делаем так
{{date_create|date:"d-m-Y G:i:s"}}
и получаем
08-10-2010 14:37:14
то есть формат выводимой информации (в этом случае) задаем в самом шаблоне , а не в коде



Отредактировано (Окт. 14, 2010 16:14:22)

Офлайн

#6 Окт. 15, 2010 09:04:10

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

Это не решение проблемы ;) Это не хотите разобраться в проблеме и нашли способ попроще.



Офлайн

#7 Окт. 15, 2010 12:08:25

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

dissdoc
Это именно решение, причём правильное, ибо отображение должно управляться шаблонами, а не моделью.



Офлайн

#8 Окт. 15, 2010 12:55:05

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

формат времени в моделях

Читайте документацию господа. Параметр input_formats есть у полей формы, а не модели.
Что, кстати, легко понять из названия переменной.

Офлайн

#9 Окт. 15, 2010 15:02:00

sonniy
От:
Зарегистрирован: 2009-12-18
Сообщения: 84
Репутация: +  0  -
Профиль   Отправить e-mail  

формат времени в моделях

собственно ответ и нашелся именно в доках, в самом низу этой страницы



Офлайн

#10 Окт. 15, 2010 16:18:29

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

формат времени в моделях

Это не доки. Доки тут: http://docs.djangoproject.com/en/1.2/

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version