使用Djang中的Formset更新和删除多个图像

2024-09-29 21:49:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django新手,所以请原谅我代码中的任何愚蠢错误。我用FBV做了一个多个图像的帖子。它工作得非常好,它的工作是在一篇文章中添加多个图像。现在我正在编辑文章,但是我在编辑文章时遇到了问题,我得到了下面的错误。在

AttributeError at /gangsters/edit/Scarface-the-story-of-Al-Capone/
'tuple' object has no attribute '_committed'
Request Method: POST
Request URL:    http://127.0.0.1:8000/gangsters/edit/Scarface-the-story-of-Al-Capone
Django Version: 1.11
Exception Type: AttributeError
Exception Value:    
'tuple' object has no attribute '_committed' 

简单介绍一下我的模型,假设我正在尝试制作一个web应用程序,允许用户写来自世界各地和不同时间段的歹徒(更像post模型)。有两种型号。歹徒和黑帮成员。歹徒有黑帮的外号钥匙

我的模型如下

^{pr2}$

以下是我的黑帮编辑视图.py

^{3}$

如果问题太长,我很抱歉。同样,我的gangster_edit视图不工作,并给出AttributeError错误。错误详细信息粘贴在上面。如果你一直读到这里,非常感谢你帮我解决这个问题

回溯错误

System check identified no issues (0 silenced).
May 02, 2018 - 22:22:03
Django version 1.11, using settings 'Khal.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.


[02/May/2018 22:22:46] "GET /gangsters/samir/al-capone-from-chicago/ HTTP/1.1" 200 31213
[02/May/2018 22:22:49] "GET /gangsters/edit/al-capone-from-chicago/ HTTP/1.1" 200 18773
[{'gangmember_image': <ImageFieldFile: images/3.jpg>, 'gangmember_name': 'A', 'brief_description': 'This is A You will love A', 'id': <Gangmember: Al Capone from Chicago Image>}, {'gangmember_image': <InMemoryUploadedFile: B.jpg (image/jpeg)>, 'gangmember_name': 'B', 'brief_description': 'This is B
You will love B', 'id': None}, {'gangmember_image': <InMemoryUploadedFile: C.jpg (image/jpeg)>, 'gangmember_name': 'C', 'brief_description': 'Thi
s is C You will love C', 'id': None}, {'gangmember_image': <InMemoryUploadedFile: D.jpg (image/jpeg)>, 'gangmember_name': 'D', 'image_description
': 'This is D You will love D', 'id': None}, {'gangmember_image': <InMemoryUploadedFile: E.jpg (image/jpeg)>, 'gangmember_name': 'E.', 'brief_description': 'This is E You will love E', 'id': None}, {}, {}]
Internal Server Error: /gangsters/edit/al-capone-from-chicago/
Traceback (most recent call last):
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\core\handlers\exception.py", line 41, in inner
    response = get_response(request)
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Samir\Documents\gangsters\views.py", line 144, in gangster_edit
    d.save()
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\db\models\base.py", line 806, in save
    force_update=force_update, update_fields=update_fields)
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\db\models\base.py", line 836, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\db\models\base.py", line 900, in _save_table
    for f in non_pks]
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\db\models\base.py", line 900, in <listcomp>
    for f in non_pks]
  File "C:\Users\Samir\Miniconda3\envs\MyDjangoEnv\lib\site-packages\django\db\models\fields\files.py", line 295, in pre_save
    if file and not file._committed:
AttributeError: 'tuple' object has no attribute '_committed'
[02/May/2018 22:23:28] "POST /gangsters/edit/Scarface-the-story-of-Al-Capone

/HTTP/1.1“500 112934


Tags: djangoinpyimagelibpackageslinesite

热门问题