2013-09-28 20 views
0

我有modelform_factory形式嵌入在我的模板,它與外鍵的字段,它是一個multichoicefield小部件,當我點擊它時,它顯示我所有可用的選項,但具有相同的名稱'(像'modelname_object',我想這是因爲我沒有設置他們的unicode名稱)。在我發佈表單之後,字典根據我選擇的內容在[u'/ 1]或有時[u'/ 2]這個字段中有一個值。然後當我存儲錯誤顯示出來django存儲從一個窗體multichoicefield,它說該字段不能爲空

(1048, 「列class_room_id」不能爲空「) 請求方法:POST

異常類型:完整性錯誤

這裏的代碼

def test(request): 
    studentFormSet = modelform_factory(Student, fields=("class_room",)) 
    return render(request,'form.html',{'studentForm': studentFormSet}) 

if request.POST: 
    name = request.POST['student name'] 
    standard = request.POST['class_room'] 
    roll_no = request.POST['roll no.'] 
    shatra = Student() 
    shatra.name = name 
    shatra.standard = Class_room.objects.all().filter(pk=standard) 
    shatra.roll_no = roll_no 
    shatra.save() 

回答

0

從錯誤消息我會推斷出你的學生模型有一個class_room ForeignKey。但是,當你創建shatra時,你不會設置shatra.class_room的值,因此是錯誤。

無論如何,你應該閱讀有關django窗體和django模型的文檔。你沒有以正確的方式使用它們...

+0

我知道了,我非常抱歉,實際上我已經將字段名稱從shatra.standard更改爲shatra.class_room,試圖重用我的舊代碼 –

相關問題