创建自定义年下拉字段

时间:2013-04-10 18:18:30

标签: django django-forms

我创建了年份下拉字段。这是a code。它显示在管理部分。但是当我试图拯救这个领域的时候。 我收到验证错误"Value u'2013' is not a valid choice"有人可以帮我吗?感谢

# fields.py

import datetime

from django.db import models

YEAR_CHOICES = []
for r in range(1980, (datetime.datetime.now().year+1)):
    YEAR_CHOICES.append((r, r))


class YearDropdownField(models.CharField):
    def __init__(self, *args, **kwargs):
        kwargs.setdefault('editable', True)
        kwargs.setdefault('max_length', 4)
        kwargs.setdefault('choices', YEAR_CHOICES)
        kwargs.setdefault('default', datetime.datetime.now().year)
        super(YearDropdownField, self).__init__(*args, **kwargs)

# models.py

year = YearDropdownField(_('Year'))

1 个答案:

答案 0 :(得分:0)

    for r in range(1980, (datetime.datetime.now().year+1)):
        YEAR_CHOICES.append((r, unicode(r)))