2012-05-05 124 views
0

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

你的意思'pics_image.submitter = request.user'线?在它之前添加“if pics.image:”之类的东西。 – ilvar

回答

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 
+0

谢谢,但得到错误'对象没有属性'save''这里是一个完整的[追溯](http://dpaste.org/5LwQ8/)。 – Shah

+0

@Richard'RecipeImageFormFormSet'的类型是什么?请张贴相关代码。只有ModelFormSet有'save()'方法 – okm

+0

这里是我的表单。 http://dpaste.org/iwYIN/ – Shah

相关问题