2016-04-01 49 views
0
  1. 在那一刻我有干净的方法相关的一个问题

    ,当我使用的代码行self.cleaned_data['field'],只告诉我一个现场>目的和过程模型有更多的字段,我需要验证所有关于Process模型的字段。这是我的代码形式。清洁方法不从模型中返回的所有字段

  2. 我希望只在clean中进行验证并跳过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

试试这个,告诉我,如果作品:

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.") 

注意,如果一个字符串是空的not the_string将返回True

相关问题