등록시 생년월일을 저장하려면 장고 등록과 함께 SelectDateWidget을 사용하고 있습니다. 나는 생일을 제외하고 시도했다. 그리고 프로필은 여분의 데이터와 함께 만들어지고, 저장된다. 나는 모든 것이 잘못되어가는 것이 확실하지 않다.Django SelectDateWidget가 날짜를 저장하지 않습니다.
models.py
class Profile(models.Model):
...
dob = models.DateField(_('birthday'))
forms.py 사용자를 등록 할 때 나는 점점 오전 오류가
from registration.forms import RegistrationForm
from registration.models import RegistrationProfile
...
class Backend(default.DefaultBackend):
...
p = Profile.objects.get(user=new_user)
p.dob=kwargs['dob']
p.save()
prifilebackend.py
from django.forms.extras.widgets import SelectDateWidget
class ProfileRegistration(RegistrationFormTermsOfService):
...
dob = forms.DateField(widget=SelectDateWidget(years=range(1999,1939,-1)),
label=_("Birthday"),
)
: profile_profile.dob이되지 않을 수 있습니다 NULL이된다.
게시물 데이터가 dob_day, dob_month 및 dob_year를 생성 중입니다. 나는 데이터를 청소하려고했지만 아무 소용이 없습니다. 어떤 도움이라도 대단히 감사하겠습니다. 해결
:
profilebackend.py
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
u = User.objects.get(username=new_user.username)
u.first_name = kwargs['first_name']
u.last_name = kwargs['last_name']
gender = kwargs['gender']
dob = kwargs['dob']
p = Profile(user = new_user, gender = gender, dob = dob)
p.save()
u.save()
사용자 정의 백엔드를 사용하고 있으며 first_name 및 last_name을 저장할 수있었습니다. 다음'데프 clean_dob (자기) : \t \t DOB = self.cleaned_data.get ('DOB') \t \t 인쇄 dob' 내 forms.py에 오류가 발생하기 전에 올바른 형식으로 날짜를 인쇄합니다. 아직도 해결책. –
내 답변 끝에있는 디버깅 노트를 참조하십시오. – Haes
트릭을 한 후 백엔드에 저장해 주셔서 감사합니다. 위의 내 솔루션을 참조하십시오. 내가보기를 사용자 지정하는 것을 피하려고했습니다. 나는 어떤 이유도 알지 못했다. –