0

我的模板中嵌入了 modelform_factory 表单,该表单有一个带外键的字段,它是一个多选字段小部件,当我单击它时,它会显示所有可用选项,但名称相同'(如'modelname_object',我想这是因为我还没有设置他们的 unicode 名称)。在我发布表单后,dict 在该字段中具有一个值,例如 [u'/1] 或有时 [u'/2] 取决于我选择的内容。然后当我存储错误出现

(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()
4

1 回答 1

0

从错误消息中,我推断您的学生模型有一个 class_room ForeignKey。但是,当您创建 shatra 时,您没有设置 shatra.class_room 的值,因此会出现错误。

无论如何,您应该阅读有关 django forms 和 django modelforms 的文档。您没有以正确的方式使用它们...

于 2013-09-28T17:14:30.357 回答