2017-12-16 11 views
0

フォームをDjangoと私のビューから保存する必要があります。私は、APIからデータをgeting、私のデータベースに直接保存する必要がありますよ:ビューからDjangoでフォームを保存する

form = NewSubject() 
#API request 
form.owner = request.user 
#Another fields 
form.teacher = teacher 
form.group = request.user.group 
form.save() 

しかし、私は得る:

Exception Value: NOT NULL constraint failed: subjects_subject.owner_id

だから私は別の方法で試してみました:今

form = NewSubject() 
#API request 
subject = form.save(commit=False) 
subject.owner = request.user 
#Another fields 
subject.teacher = teacher 
subject.group = request.user.group 
form.save() 

フォームは保存されますが、私はいつもエラーを受け取ります:

Exception Value: 'NewSubject' object has no attribute 'cleaned_data'

+0

ポストあなたにrelatged完全なコード質問。 –

答えて

0

あなたはジャンゴでのビューからフォームにデータを保存したい場合は、あなたがis_valid()方法でこのデータを検証し、その後、フォーム上の辞書を送信する必要があります:

form = NewSubject({ 
    'owner': request.user.id, 
    #Another fields 
    'teacher': teacher, 
    'group': request.user.group 
}) 
if form.is_valid(): 
    form.save() 
関連する問題