从视图中使用Django保存表单
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从视图中使用Django保存表单相关的知识,希望对你有一定的参考价值。
我需要从我的观点中保存一个带有Django的表单。我从API获取数据并需要直接保存在我的数据库中:
form = NewSubject()
#API request
form.owner = request.user
#Another fields
form.teacher = teacher
form.group = request.user.group
form.save()
但我得到:
异常值:NOT NULL约束失败: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()
现在,表单已保存,但我总是收到错误:
异常值:'NewSubject'对象没有属性'cleaning_data'
答案
如果要将数据保存到Django视图中的表单,则需要在表单上发送字典,然后使用is_valid()
方法验证此数据:
form = NewSubject({
'owner': request.user.id,
#Another fields
'teacher': teacher,
'group': request.user.group
})
if form.is_valid():
form.save()
以上是关于从视图中使用Django保存表单的主要内容,如果未能解决你的问题,请参考以下文章