使用 djangocms 发布页面更改时出现“NodeAlreadySaved”错误
Posted
技术标签:
【中文标题】使用 djangocms 发布页面更改时出现“NodeAlreadySaved”错误【英文标题】:"NodeAlreadySaved " error when using djangocms publishing page changes 【发布时间】:2021-06-20 22:11:17 【问题描述】:使用 djangocms 发布页面更改时遇到错误。
当我运行 tail -f /var/log/apache2/error.log
时,它返回:
treebeard.exceptions.NodeAlreadySaved: Attempted to add a tree node that is already in the database, referer: http://47.95.254.172/?edit
当我允许 settings.py DEBUG= True 并点击“发布页面更改”按钮时:
NodeAlreadySaved at /admin/cms/page/1/en/publish/
Attempted to add a tree node that is already in the database
Request Method: POST
Request URL: http://47.95.254.172/admin/cms/page/1/en/publish/
Django Version: 3.1.7
Exception Type: NodeAlreadySaved
Exception Value: Attempted to add a tree node that is already in the database
Exception Location: /root/env1/lib/python3.8/site-packages/treebeard/mp_tree.py, line 326, in process
Python Executable: /root/env1//bin/python
Python Version: 3.8.5
我已经运行了python manage.py cms fix-tree
,但它不起作用。而python manage.py cms check
返回 10 次检查成功!。
我部署了 djangocms 项目:
apache2.4.41
mod-wsgi 4.8.0
django 3.1.7
django-cms 3.8.0
venv中的python版本是3.8.5,mod-wsgi是venv中的python3.8.5编译的。
感谢您的帮助!
【问题讨论】:
【参考方案1】:您还可以修改requirements.txt
文件以反映不是4.5.1
的不同django-treebeard
版本:
django-treebeard>=4.0,!=4.5.1
然后就可以运行了:
pip install -r requirements.txt
【讨论】:
4.5.0 也受影响【参考方案2】:降级到 4.5.1 以下的 django-treebeard 版本,例如4.4. 4.5.1 版本似乎不兼容。
pip install django-treebeard==4.4
【讨论】:
有效!困扰了我很长时间,非常感谢您的帮助! 4.5.0也受影响,所以 @jsj 对我来说 4.5.0 不起作用。但 4.4 有效!以上是关于使用 djangocms 发布页面更改时出现“NodeAlreadySaved”错误的主要内容,如果未能解决你的问题,请参考以下文章
删除记录时出现 NO_SQL_DATA 错误,firedac,delphi 10.3.1
CSS 更改出现在检查器中,但不会在实际 CSS 文件中应用更改并刷新时出现