我如何检查用户是否上传任何图片

时间:2012-05-05 20:18:19

标签: django django-forms

我正在使用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()

1 个答案:

答案 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