나는 다음과 같은 모델이 있습니다장고 modelform
ynChoice = ((None, 'Acknowledgement not required'),
(True, 'Acknowledgement and consent required'),
(False, 'Acknowledgement required but consent not required'))
class AbstractForm(models.Model):
"""base class for the below 2 classes"""
#require users to say yes and no other than acknowledging #null = not required
yes_no_required = models.NullBooleanField(choices=ynChoice, blank=False)
을하고 내 modelform에 매핑 : 여기
class LiveConsentForm(forms.ModelForm):
ynChoice = (
('', '---------------'),
(None, 'Acknowledgement not required'),
(True, 'Acknowledgement and consent required'),
(False, 'Acknowledgement required but consent not required'),
)
yes_no_required = forms.TypedChoiceField(choices=ynChoice,empty_value='')
class Meta:
model = ConsentFormTemplate
, ConsentFormTemplate
이 AbstractForm
의 서브 클래스입니다. nullbooleanfield의 formfield에 대한 빈 값이 None
을 반환하기 때문에 양식에 yes_no_required
을 썼습니다. 원하지 않습니다.
지금, 기존의 레코드 인 LiveConsentForm(instance=templateInstance)
을 표시하기 위해 양식을 인스턴스화하려면 문제가 발생합니다.
내 templateInstance.yes_no_required
의 값은 없음이지만 html이 렌더링되면 ------
이 선택됩니다. (yes_no_required
이 True
또는 False
일 때 이러한 문제가 발생하지 않습니다.
여기에서 도움이 필요합니다.