gpt4 book ai didi

django - 覆盖 Django 表单集删除行为 : Delete form instance if empty field in Django model formset

转载 作者:行者123 更新时间:2023-12-01 01:07:46 25 4
gpt4 key购买 nike

我经常遇到这个:

我想隐藏表单集中的默认删除框,并在表单集中的每个表单中清除某个字段时删除对象的实例。

典型的问题是,验证会妨碍或破坏空白表单检测并在保存表单集时开始添加所有表单(甚至是额外的空白)。

最佳答案

这是我找到的解决方案:

此代码创建一个模型表单集,通过允许空白字段确保其验证,然后在保存时确定要删除哪些对象以及要保存哪些表单。

TaskFormset = inlineformset_factory(User, FAQ, extra=3, can_delete=False, exclude=('user', 'answer',))
formset = TaskFormset(request.POST, request.FILES, instance=user)
for form in formset:
form.fields['question'].required = False

// later when performing the formset save

for form in formset:
if form.instance.pk and form.cleaned_data['question'].strip() == '':
form.instance.delete()
elif form.cleaned_data:
form.save()

关于django - 覆盖 Django 表单集删除行为 : Delete form instance if empty field in Django model formset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17304156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com