【发布时间】:2015-08-13 16:36:48
【问题描述】:
您好,我是 Django 新手,希望我遗漏了一些简单的东西,所以请多多包涵。
尝试在管理页面上保存数据时遇到 500 错误。
我们在此页面上使用gratelli-nested-inlines (https://github.com/datahub/grappelli-nested-inlines)。
当我将文本更改为 TextField 时,我收到此错误:
AttributeError at /_admin/...
'InlineAdminFormSet' object has no attribute 'has_changed'
Request Method: POST
Request URL: http://localhost:8000/_admin/...
Django Version: 1.7.4
Exception Type: AttributeError
Exception Value:
'InlineAdminFormSet' object has no attribute 'has_changed'
Exception Location: venv/lib/python3.4/site-packages/grappelli_nested/forms.py in <genexpr>, line 36
Python Executable: venv/bin/python
Python Version: 3.4.3
Python Path:
['venv/lib/python34.zip',
'venv/lib/python3.4',
'venv/lib/python3.4/plat-darwin',
'venv/lib/python3.4/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4',
'/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin',
'venv/lib/python3.4/site-packages']
Server time: Thu, 13 Aug 2015 15:24:08 +0000
InlineAdminFormSet 在https://github.com/django/django/blob/master/django/contrib/admin/helpers.py 中定义为一个AdminForm。
根据 Django 文档,我希望所有表单都定义了 has_changed 方法,但这个似乎没有。
我没有看到其他人提到这个问题,所以这让我相信我错过了一些东西。
有人可以帮我澄清一下吗:
AdminForm 是否应该有一个 has_changed 方法(如果有,我该如何推动它?)
如果不是,我应该用葡萄叉处理这个吗?
或者我还缺少其他解决方案。
干杯
【问题讨论】:
-
您能否发布完整的回溯以及导致错误的代码?这可能会让发生的事情更清楚。
标签: django django-forms django-admin