Это есть в стандартных средства джанго, вот часть моего кода с изменением данных юзера, там как раз меняется дата рождения:
views:
class UserUpdateView(LoggedInMixin, UpdateView):
model = User
context_object_name = 'user_object'
template_name = 'basics/profile_update.html'
form_class = UserUpdateForm
forms:
class UserUpdateForm(ModelForm):
class Meta:
model = User
fields = ('avatar', 'birthday', 'sex', 'first_name', 'last_name', 'email')
widgets = {
'birthday': SelectDateWidget(years=range(1940, 2014))
}