如何在窗体中生日的最大值和最小值。Django的模型形式?

时间:2015-05-06 23:35:22

标签: python django django-forms django-1.8

我使用的是Django 1.8版本。

我的模特有生日专栏。

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    birthday = models.DateField (verbose_name=u'birthday')
    # ...

它是模型的形式。

class UserProfileForm(forms.ModelForm):
    slug_field = 'user_slug'

    class Meta:
        model = UserProfile
        fields = (
            'birthday',
        )

我想设定谁是10-100岁的人。

我想我应该使用SelectDateWidget

import datetime
from django.forms import extras

class UserProfileForm(forms.ModelForm):
    slug_field = 'user_slug'
    now = datetime.datetime.now()
    DOY = tuple(n for n in range(now.year-100, now.year-9))
    birthday = forms.DateField(widget=extras.SelectDateWidget(years = DOY))

这是好方法吗?或者你能告诉我一个好主意吗?

1 个答案:

答案 0 :(得分:0)

要验证表单字段,可以在表单类中使用clean_FIELDNAME()方法。查看documentationthis answer