python - Validate form A's data by usuing form B's data -
so have these 2 forms. able access data in form env_form when checking add_urg other form. possible this? env form common form through out app keep separate instead of including on every form.
class env_form(forms.form): env = forms.choicefield(choices=env, required=true) class add_urg(forms.form): user = forms.charfield(max_length=50) group = forms.charfield(required=true) role = forms.charfield(required=true) def clean_user(self): post_user = self.cleaned_data['user'] post_env = self.cleaned_data['env'] c = user.objects.filter(user__contains=post_user, env__contains=post_env ).count() if (c == 0): raise forms.validationerror(u"user not found.") else: user_info = user.objects.filter(user__contains=post_user).values('password').distinct().count() user_env = user.objects.filter(user__contains=post_user).values('env').distinct().count() if not (user_env == user_info): raise forms.validationerror(u'user using same password') return(post_user)
if i'm reading question correctly, think form inheritance used here.
class env_form(forms.form): env = forms.choicefield(choices=env, required=true) class add_urg(env_form): user = forms.charfield(max_length=50) group = forms.charfield(required=true) role = forms.charfield(required=true) def clean_user(self): post_user = self.cleaned_data['user'] post_env = self.cleaned_data['env'] c = user.objects.filter(user__contains=post_user, env__contains=post_env ).count() if (c == 0): raise forms.validationerror(u"user not found.") else: user_info = user.objects.filter(user__contains=post_user).values('password').distinct().count() user_env = user.objects.filter(user__contains=post_user).values('env').distinct().count() if not (user_env == user_info): raise forms.validationerror(u'user using same password') return(post_user) def __init__(self, *args, **kwargs): super(env_form, self).__init__(*args, **kwargs) class someotherform(env_form): some_field = forms.charfield() def __init__(self,*args,**kwargs): super(env_form, self).__init__(*args,**kwargs)
Comments
Post a Comment