pythondjangomod-wsgidjango-cmsapache2.4

"NodeAlreadySaved " error when using djangocms publishing page changes


Encounter an error when using djangocms publishing page changes.

when I ran tail -f /var/log/apache2/error.log, it returned:

treebeard.exceptions.NodeAlreadySaved: Attempted to add a tree node that is already in the database, referer: http://47.95.254.172/?edit

And when I allowed the settings.py DEBUG= True and click the 'Publish page changes' button:

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

I have run python manage.py cms fix-tree but it did not work. While python manage.py cms check returned 10 checks successful!.

I deployed the djangocms project with:

apache2.4.41

mod-wsgi 4.8.0

django 3.1.7

django-cms 3.8.0

The python version in venv is 3.8.5, and mod-wsgi was compiled by python3.8.5 in the venv.

Thank you for the help!


Solution

  • Downgrade to django-treebeard version below 4.5.1, e.g. 4.4. Version 4.5.1 seems to be incompatible.

    pip install django-treebeard==4.4