我正在使用formset并允许用户上传多个图像。有效。但问题是如果用户没有选择任何上传图片,则以下代码正在保存submitter
。如果用户没有上传任何图片,那么我不想保存submitter
。这可能吗?
if form.is_valid() and formset.is_valid():
for image_form in formset:
pics = image_form.save(commit=False)
pics_image.submitter = request.user
pics_image.save()
答案 0 :(得分:1)
formset.save()
执行的处理比简单地迭代表单以保存它们更多。
因此,您需要手动检查form.has_changed()
。
或依靠返回实例保存的formset.save(commit=False)
if form.is_valid() and formset.is_valid():
for img in formset.save(commit=False):
img.submitter = request.user
img.save()
# formset.save_m2m() # if there is any m2m to save