que tienen una forma similar a la siguiente:formas de Django: cambio de atributo de formfield dinámicamente
class ConsentFormTpl(forms.Form):
title = forms.CharField()
message = forms.CharField(widget=EditorWidget,label='Description')
acknowledge = forms.BooleanField(label="Require acknowledgement?")
deadline = forms.DateField(widget=CalendarTimeWidget,label="Acknowledge By")
start_time = forms.DateTimeField(widget=CalendarTimeWidget)
end_time = forms.DateTimeField(widget=CalendarTimeWidget)
availClass = forms.ModelChoiceField(queryset=SchoolClass.objects.all(),empty_label="Select a class",label='Class')
consent = forms.BooleanField()
students = forms.ModelMultipleChoiceField(label="",\
queryset=User.objects.filter(groups__name='Students').extra(select={'user_name':"first_name || ' ' || last_name"}), \
widget=FilteredSelectMultiple("Students",is_stacked=False))
where = forms.CharField()
form_name = forms.CharField(label='Save as:')
def __init__(self,data=None,draft=False):
super(ConsentFormTpl,self).__init__(data)
self.draft = draft
self.acknowledge.required = False
self.deadline.required = False
self.start_time.required = False
self.end_time.required = False
self.availClass.required = False
self.consent.required = False
self.where.required = False
if draft:
self.title.required = False
self.message.required = False
self.students.required = False
self.form_name.required = True
else:
self.form_name.required = False
Dependiendo del valor del proyecto, quiero cambiar los atributos (obligatorio) de algunos de los campos, los cuales era lo que estaba en el método init.
Sin embargo, me encontré con el siguiente mensaje:
'ConsentFormTpl' object has no attribute 'acknowledge'
Cualquiera sabe por qué?
bah, respuesta precisa. gracias. – goh