在表单传递的表单集中插入数据
Posted
技术标签:
【中文标题】在表单传递的表单集中插入数据【英文标题】:inserting a data in a formset passed by a form 【发布时间】:2021-11-13 23:01:48 【问题描述】:您好,我时出现此错误,这是我的浏览器中出现的错误:
NOT NULL 约束失败:devtest_datigruppi.gruppi_scheda_id
它实际上看不到这种变化:groups.gruppi_scheda = Schede.objects.get (tab_name = tabName) 但通过打印对我来说是正确的事情
schedaName = schede_form.cleaned_data['nome_scheda']
scheda = schede_form.save(commit = False)
scheda.utente = request.user
scheda.save()
#gruppi
if gruppi_formset.is_valid():
for gruppi in gruppi_formset:
gruppi.save(commit = False)
gruppi.gruppi_scheda = Schede.objects.get(nome_scheda = schedaName)
//print(gruppi.gruppi_scheda)
gruppi.save()
【问题讨论】:
【参考方案1】:您必须将gruppi.save(commit=False)
的返回值分配给一个变量并在那里更新gruppi_scheda
属性:
gruppi_instance = gruppi.save(commit=False)
gruppi_instance.gruppi_scheda = Schede.objects.get(nome_scheda = schedaName)
gruppi_instance.save()
【讨论】:
以上是关于在表单传递的表单集中插入数据的主要内容,如果未能解决你的问题,请参考以下文章
表单没有正确地将数据插入数据库 [Laravel][Eloquent]