2012-04-27 5 views
4

, если у меня есть модель и форму, как это:Как назначить значение для поля формы django перед сохранением?

class Test(models.Model): 
    name = Charfield() 
    nickname = CharField() 

class getNickname(forms.ModelForm): 
    class Meta: 
    model = Test; 
    exclude = ['nickname']; 

ник будет случайно сгенерированное имя с помощью функции.

def msms(): 
    return randomName; 

def getNick(request): 
    if request.method = 'POST': 
     form = getNickname(request.POST); 
     if form.is_valid(): 
      form.nickname = msms(); <-- 
      nickname = form.save(); 

Когда я вызываю msms(), это дает мне ошибку. Каков правильный способ изменения «никнейма» с помощью функции?

ответ

10

Сделайте это на модели.

if form.is_valid(): 
     nickname = form.save(commit=False) 
     nickname.nickname = msms() 
     nickname.save() 
Смежные вопросы