2016-04-01 6 views
0
私はクリーンな方法と関連した問題を持っている瞬間に
  1. は、私だけフィールド - >目的とプロセスモデルを示し、モデルからすべてのフィールドを返しません。より多くのフィールドを持っている、私はプロセスモデルについてのすべてのフィールドを検証する必要があります。これは私のコードです。クリーンな方法は、私は、コードの行<code>self.cleaned_data['field']</code>を使用する場合

  2. クリーンで検証を行い、models.pyの検証をスキップします。

ありがとう。

class ActivityForm(forms.ModelForm): 
    role = forms.CharField() 

    def __init__(self, *args, **kwargs): 
     super(ActivityForm, self).__init__(*args, **kwargs) 
     self.fields['role'].label = "Rol" 

    def clean(self): 
     name = self.cleaned_data['purpose'] 
     purpose = self.cleaned_data['purpose'] 
     role = self.cleaned_data['role'] 
     order_in_structure = self.cleaned_data['order_in_structure'] 
     if name == '': 
      raise ValidationError("Se debe diligenciar el nombre de la nueva actividad.") 

     if purpose == '': 
      raise ValidationError("Se debe diligenciar la descripción de la nueva actividad.") 

     if role == '': 
      raise ValidationError("Se debe dilligenciar el rol responsable de la nueva actividad.") 

答えて

0

これを試してみて、動作するかどうかを教えてください:文字列が空の場合not the_stringがTrue

を返すこと

class ActivityForm(forms.ModelForm): 
    role = forms.CharField() 

    def __init__(self, *args, **kwargs): 
     super(ActivityForm, self).__init__(*args, **kwargs) 
     self.fields['role'].label = "Rol" 

    def clean(self): 
     cleaned_data=super(ActivityForm, self).clean() 
     name = cleaned_data['purpose'] 
     purpose = cleaned_data['purpose'] 
     role = cleaned_data['role'] 
     order_in_structure = cleaned_data['order_in_structure'] 
     if not name: 
      raise ValidationError("Se debe diligenciar el nombre de la nueva actividad.") 

     if not purpose: 
      raise ValidationError("Se debe diligenciar la descripción de la nueva actividad.") 

     if not role: 
      raise ValidationError("Se debe dilligenciar el rol responsable de la nueva actividad.") 

お知らせ

関連する問題