Найти - Пользователи
Полная версия: формат models.DateField
Начало » Django » формат models.DateField
1 2
Saff
Возможно ли сменить формат отображения/ввода даты?
Saff
Почитал, понравилось )
Извиняюсь, забыл сказать, что проблема со сменой формата даты в джанго админке.У объекта стандартная форма, а там дата отображается в формате yyyy-mm-dd, а нужно dd-mm-yyy
Vermus
class MyModelAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
field = super(MyModelAdmin,self).formfield_for_dbfield(db_field,**kwargs)

if isinstance(db_field, models.DateField)
return forms.DateField(input_formats=('%d-%m',), widget=SelectDateWidget(input_format='%d-%B', null=True))
return field
или

class MyModelAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
field = super(MyModelAdmin,self).formfield_for_dbfield(db_field,**kwargs)

if db_field.name == 'birth_day_month':
return forms.DateField(label=_('Birth day_month'), required=False, input_formats=('%d-%m',), widget=SelectDateWidget(input_format='%d-%B', null=True))
return field
Это с виджетом по ссылке, можно и без него, используя input_formats
Saff
Огромное спасибо, то чно нужно!
Saff
Есть вопрос )))
А возможно ли это интегрировать с календарём, который появляется при стандартном выводе?
Vermus
смотрим, как это делается в адмнике http://code.djangoproject.com/browser/django/trunk/django/contrib/admin/widgets.py

 	
42 class AdminDateWidget(forms.TextInput):
43 class Media:
44 js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js",
45 settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js")
46
47 def __init__(self, attrs={}):
48 super(AdminDateWidget, self).__init__(attrs={'class': 'vDateField', 'size': '10'})
OZION
есть поле формы “Дата выдачи” которое по умолчанию принимает данные в ввиде 2006-10-25 , при попытке ввести дату в виде 25-10-2006 выдает ошибку Enter a valid date.
passport_when_delivery = forms.DateField(label='Дата выдачи')
попробовал изменить на
passport_when_delivery = forms.DateField('%m/%d/%Y', label='Дата выдачи')
при вводе значения 10/25/2006 выдало опять ошибку Enter a valid date.

Подскажите что делаю не так

П.С В идеале нужно чтобы дата была ввиде 1-1-2001 тоесть согласно филтру даты выглядеть так (j n Y)
Vermus
Покажите POST дату
OZION
u'passport_when_delivery':
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB