formularios form fields example avanzados django forms field required modelform

fields - Django: hacer ciertos campos en un ModelForm requerido=Falso



readonly django form (5)

¿Cómo hago ciertos campos en un ModelForm requerido = Falso?

Si tengo:

class ThatForm(ModelForm): class Meta: widgets = {"text": Textarea(required=False)}

O si tengo:

class ThatForm(ModelForm): text = Textarea(required=False)

Django devuelve:

__init__() got an unexpected keyword argument ''required''


Cuando necesitamos establecer la opción requerida en un grupo de campos, podemos:

class ThatForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.Meta.required: self.fields[field].required = True class Meta: model = User fields = ( ''email'', ''first_name'', ''last_name'', ''address'', ''postcode'', ''city'', ''state'', ''country'', ''company'', ''tax_id'', ''website'', ''service_notifications'', ) required = ( ''email'', ''first_name'', ''last_name'', ''address'', ''postcode'', ''city'', ''country'', )


Podrías probar esto:

class ThatForm(ModelForm): class Meta: requireds = { ''text'':False, }

Los requisitos deben estar bajo Meta.



lo siguiente puede ser adecuado

class ThatForm(ModelForm): text = forms.CharField(required=True, widget=forms.Textarea)


siguiendo de los comentarios. Probablemente si:

class ThatForm(ModelForm): def __init__(self, *args, **kwargs): # first call parent''s constructor super(ThatForm, self).__init__(*args, **kwargs) # there''s a `fields` property now self.fields[''desired_field_name''].required = False