djangocms-installer
djangocms-installer copied to clipboard
Specify package version requirement using == instead of >=
Description
Djangocms-installer djangocms
command should install only working configurations with package versions requirement specified using ==
instead of >=
.
Today, a djangocms mysite
site is buggy due to https://github.com/django-cms/django-cms/issues/6980
Steps to reproduce
mkdir test
cd test
python3 -m venv env
. env/bin/activate
pip install --upgrade pip
pip install djangocms-installer
djangocms mysite
cd mysite
./manage.py runserver
- open http://localhost:8000/
- connect admin/admin
- create a page
- create a subpage
- insert a text content (it seems important to do that)
- publish it
Internal Server Error: ... treebeard.exceptions.NodeAlreadySaved: Attempted to add a tree node that is already in the database
Versions
- Python 3.8.6
- Django==3.1.7
- django-cms==3.8.0
- django-treebeard==4.5.1
Expected behaviour
- django-treebeard==4.4
Actual behaviour
- django-treebeard==4.5.1
Additional information
The problem is more general, djangocms-installer should install only working configurations,
with ==
specifications written in djangocms_installer/config/data.py file instead of >=
specifications.
Here django-cms==3.8.0 was working with django-treebeard==4.4, but is no more working since django-treebeard is upgraded to 4.5.1.
Using strict equality would generate a lot of maintenance burden on the package.
In cases like this it's much easier to restrict dependencies whenever an issue arise.
For treebeard it's actually sensible to restrict the version brackets and being more conservative.
I will open a PR for this