'Folder' 尝试在 django-cms 文件管理器中创建文件夹时对象没有属性 'get_deferred_fields'

'Folder' object has no attribute 'get_deferred_fields' when trying to create folder in django-cms filer

我在模型中创建了一个带有字段的插件:

picture = FilerImageField(related_name="gallery_image")

现在,当我尝试将插件添加到占位符时,window 在我可以添加图片时打开。因此,我单击 "Add file",新页面打开,其中包含已上传文件的列表(现在为空)。在该页面上,我单击创建目录,输入它的名称,当我单击保存时,出现错误:

AttributeError at /pl/admin/filer/folder/make_folder/
'Folder' object has no attribute 'get_deferred_fields'

Django 1.7.9 感谢您的帮助

我在使用库 django-mptt 时遇到了同样的错误。然后我从 django 1.7.11 升级到 1.8.11 并且工作得很好。

我遇到了这个问题,它在我的测试环境中不工作,但在我的本地环境中工作正常。

一些不同步的事情。其中之一是 django-mptt。在我的测试中,它是 0.8.7,在我的本地,它是 0.6.1。为了测试它,我更新了我的本地,将我的 django 升级到 1.9,这破坏了一切。所以我将 Django 恢复到 1.7.9,将 mptt 恢复到 0.6.1。我还更新了我的枕头到 3.1.1.

所以基本上它是一个组合,如果安装插件并确保您的需求文件具有正确的版本。

AttributeError at /pl/admin/filer/folder/make_folder/ 'Folder' object has no attribute 'get_deferred_fields'

这是因为 Django 1.7 和 django-mptt 版本不匹配。 Django 1.8 引入了 get_deferred_fields,django-mptt-0.8.0 放弃了对 Django < 1.8 的支持。

如果您是 运行 Django < 1.8,最后支持的 django-mptt 版本是 0.7.4。

pip install django-mptt==0.7.4

注意:由于官方不再支持 Django 1.7,最安全的选择当然是升级到 Django 1.8 (LTS)。