2011-04-21 3 views
0

특정 고객의 요구에 따라 동적 등록 양식을 생성하려고합니다. 나는 대부분의 필드가 blank = True로 설정된 UserProfile 모델을 만들었습니다.모델의 동적 양식 요구 사항

양식이 생성되면 클라이언트 지정 필드를 다른 db 테이블에서 가져 와서 등록 양식을 생성합니다. 모든 필드가 공백 값을 허용한다는 점을 제외하고는 모두 작동합니다.

includes = ['gender','work_phone'] # dynamic fields 
of = RegProfileForm(includes) 

내가 양식을 생성 할 때 동적으로 런타임에 특정 지정된 필드에서 빈 = 진정한 요구 사항을 제거하거나 어떻게 : 지금까지 나는이

def RegProfileForm(include_list, *args, **kwargs): 
    class ProfileForm(forms.ModelForm): 
     class Meta: 
      model = hr.UserProfile 
      fields = include_list 

     def __init__(self): 
      super(ProfileForm, self).__init__(*args, **kwargs) 

    return ProfileForm() 

그런 다음 나는이 같은이 양식을 호출해야 ?

form = MyAuthForm(data) 
form.fields['first_name'].required = True 
form.fields['email'].required = False 
:

답변

1

는 난 그냥 모델에서 디폴트 값을 대체하기 위해이 같은 일을 할 수 파악