基于这个想法,我创建了新的db.fields类EuDateField:
mydbfields.py
from django import formsfrom django.forms.fields import DEFAULT_DATE_INPUT_FORMATSfrom django.db import modelsclass EuDateFormField(forms.DateField): def __init__(self, *args, **kwargs): kwargs.update({'input_formats': ("%d.%m.%Y",)+DEFAULT_DATE_INPUT_FORMATS}) super(EuDateFormField, self).__init__(*args, **kwargs)class EuDateField(models.DateField): def formfield(self, **kwargs): kwargs.update({'form_class': EuDateFormField}) return super(EuDateField, self).formfield(**kwargs)
请注意,它首先将我的格式(例如2007年12月31日)添加到现有的“标准” django格式中。
用法:
from mydbfields import EuDateFieldclass Person(models.Model): ... birthday = EuDateField("Birthday", null=True, blank=True, help_text="")
就我而言,这在admin中表现不错,但很可能在ModelForm中也可以(没有尝试过)。
我的Django版本是:
>>> import django>>> django.get_version()u'1.1 alpha 1 SVN-10105'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)