2012-12-17 4 views
0

가 나는 모델은 Note 불렀다 : 나는가 방법을 저장 무시하고 있기 때문에 데이터베이스에 password 값을 저장하지 않으양식 데이터를 모델로 가져 오려면 어떻게해야합니까?

from django import forms 

from notes.models import Note 


class AddNoteForm(forms.ModelForm): 
    password = forms.CharField(widget=forms.PasswordInput) 


    class Meta: 
     model = Note 

:

class Note(models.Model): 
    name = models.CharField(max_length=200) 
    description = models.TextField() 


    def save(self, force_insert=False, force_update=False): 
     from notes.tasks import build_htaccess 
     super(Note, self).save(force_insert, force_update) 
     build_htaccess.delay(self.id) # celery tasks 

나는 modelform과 같이가 subprocess을 통해 htaccess 암호를 만들지 만, 내 모델의 암호 값을 저장 무시로 가져 오려면 cleaned_data 형식에 액세스 할 수없는 것 같습니다. 내가 어떻게이 일을 할 수 있는지에 대한 제안은?

+0

암호를보기의 저장 함수에 매개 변수로 전달해야합니다. – Jingo

답변

2

나를 위해 제기되는 질문은 데이터베이스에 필드 값을 저장하지 않으면 왜 모델에 포함시키는 것입니까?

정확한 최종 게임을 여기에서 볼 수는 없지만, 내가 설명하는 것과 비슷한 상황에서 템플릿에서 수동으로 암호 필드를 만들면됩니다. 그럼, 다음의 라인을 따라 뭔가를 사용하여 내보기 내에서 request.POST 데이터로부터 필드의 값을 잡을 수 :

if request.method == 'POST': 
    [...] 
    if myPassHandler(request.POST['password']): 
     # password is valid 
     [...] 
    else: 
     # bad password 
     [...] 

경우 myPassHandler 반환 참 또는 거짓. 희망이 좀 도움이됩니다.

관련 문제