【发布时间】:2019-07-29 11:41:47
【问题描述】:
我的代码是:
models.py
class Claimmessage(models.Model):
text = models.TextField(_('Сообщение'),)
class Claimfile(models.Model):
claimmessage = models.ForeignKey(Claimmessage, on_delete=models.CASCADE, verbose_name=_('Сообщение рекламации'), )
attachment = models.FileField(upload_to='claims/%Y/%m/%d/', blank=True, null=True,)
forms.py
class ClaimCreateForm( forms.Form ):
message = forms.CharField(widget=forms.Textarea,)
attachments = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))
def save(self, commit=False):
message = self.cleaned_data.get("message")
attachments = self.cleaned_data.get("attachments")
mess = Claimmessage()
mess.text = message
mess.save()
for f in attachments:
Claimfile.objects.create(claimmessage=message, attachment=f)
views.py
if request.method == 'POST':
form = ClaimCreateForm(request.POST, request.FILES,)
if form.is_valid():
obj = form.save()
return redirect('claim_details', claim_id=obj.pk)
else:
form = ClaimCreateForm()
我有
/ru/claims/400002013/create/'bytes' 对象的 AttributeError 没有 属性“_committed”
如何在 form.save() 方法中保存文件对象?
【问题讨论】:
标签: django django-forms