Ho il modulo del modello sottostante e voglio aggiungere la convalida personalizzata a un campo chiamato "billable_work".Django ModelForm convalida personalizzata: Come accedere ai valori dei campi inviati
Come accedere a un campo "progetto" che è stato inviato nel modulo? Voglio controllare il valore del progetto ('p' nell'esempio seguente) ma non riesco a trovare la sintassi corretta in modo da poter verificare il valore inviato. Qualsiasi aiuto sarebbe apprezzato.
class EntryForm(forms.ModelForm):
class Meta:
model = Entries
exclude = ('billable_work','notes')
billable_work = forms.BooleanField()
notes = forms.CharField(widget=forms.Textarea,required=False)
def clean_billable_work(self):
b = self.cleaned_data['billable_work']
p = form.fields['project']
if b == True and p == 523:
raise forms.ValidationError(_("Entries cannot be both billable and NONE: Indirect."))
return self.cleaned_data['billable_work']
Grazie per il collegamento nei documenti. Stavo cercando la sintassi self.cleaned_data.get ('progetto'). Per testare il valore devo convertire questo in una stringa. È un metodo corretto/valido? – Mrak
Non sono sicuro di seguirmi? –