python - Django 'bool' 对象没有属性 '_committed'

标签 python django

嗯,我有一个字段类型 FileField,当我尝试删除它的内容时,返回此错误消息: 'bool' 对象没有属性 '_commissed' ` 上传工作正常,只有当我尝试删除已发送的文件时才会出现问题。

我的观点:

try:
    profile = request.user.get_profile()
    company = profile.company
except ObjectDoesNotExist:
    raise Http404 

if request.method == 'POST':
   data = request.POST
   profile_form = EditUserProfileForm(data=data)
   company_form = EditCompanyForm(data=data, files=request.FILES)

  if profile_form.is_valid() and company_form.is_valid():
     profile_form.save(profile)
     company_form.save(company)
     messages.info(request, 'Dados atualizados com sucesso.')
     return HttpResponseRedirect('')
 else:
    profile_form.save(profile)
    company_form.save(company)  #Error here.
    messages.info(request, 'Dados atualizados com sucesso.')
    return HttpResponseRedirect('')

编辑:完整的回溯

Traceback:
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.response = callback(request, *callback_args, **callback_kwargs)
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)
File "/home/vanderson/Sites/cargo-br/cargobr/../cargobr/apps/accounts/views.py" in edit
  407.                     company_form.save(company)
File "/home/vanderson/Sites/cargo-br/cargobr/../cargobr/apps/accounts/forms.py" in save
  147.         company.save()
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/django/db/models/base.py" in save
  460.         self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base
  484.             signals.pre_save.send(sender=origin, instance=self, raw=raw, using=using)
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py" in send
  172.             response = receiver(signal=self, sender=sender, **named)
File "/home/vanderson/.virtualenvs/cargobr/local/lib/python2.7/site-packages/easy_thumbnails/signal_handlers.py" in find_uncommitted_filefields
  20.             if not getattr(instance, field.name)._committed:

Exception Type: AttributeError at /editar-cadastro/
Exception Value: 'bool' object has no attribute '_committed'

编辑:EditCompanyForm:

class EditCompanyForm(CompanyForm):

    class Meta:
        model = accounts.models.Company
        exclude = ('verified', 'rating')


    def save(self, company):
        company.insurance_policy = self.cleaned_data['insurance_policy']
        company.save()
        return company

最佳答案

我有同样的错误,原因是我没有在表单中设置 enctype, <form enctype="multipart/form-data" method="post" action="/foo/">

关于python - Django 'bool' 对象没有属性 '_committed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707698/

相关文章:

python - 如何优化Python中的内存访问?

python - 通过另一个程序调用回文函数时输出错误

python - 根据每个 Action 的概率创建 Action 列表

django - 特定 Django 模型的高级搜索

python - 由于 errno : 150 "Foreign key constraint is incorrectly formed",Django 1.8 应用程序初始迁移神秘失败

python - 续行中的注释

Python 提要解析器 : How can I check for new RSS data?

python - 如何从装饰器向基于 Django 类的 View 添加/修改属性?

python - 检查文本是否以空格开头

python - 我的 View 和表单集保存时遇到问题