- Added Django 4.0 compatibility.
- Fixed permission check for moving nodes.
- Dropped Python 3.5 support.
- Fixed Django 3.1 compatibility.
- Fixed Django 4.x deprecation warnings.
- Bumped third party requirements to meaningful versions.
- Dropped Django 1.10, 1.11, 2.0 support.
- Dropped Python 2.7 support.
- Fixed Django 3.0 compatibility by removing
django.utils.sixdependency.
- Added Django 2.0 support.
- Added
base_manager_namesetting in modelMetaoptions, like django-polymorphic 2.0 does. - Fixed crash in
get_child_types()whencan_have_childrenisFalse. - Fixed child type validation, this now happens before the database saves.
- Fixed spelling grapelli -> grappelli
- Dropped Django 1.8 support.
- Fixed compatibility with recent django-polymorphic releases.
- Dropped support for unmaintained Django versions: 1.6, 1.7, 1.9 (this should have warranted a 1.5 release, but it was accidentally slipped in).
- Fixed inheriting
PolymorphicMPTTModelin an abstract model. - Fixed
PolymorphicMPTTQuerySet.as_manager()usage to return the proper manager.
- Add ability to restrict children, via
child_typeslist on the model. The value can be["self", "app.Model", "Model", Model]. - Added ability to set
can_be_rootto enforce using a node as child. - Add
validate_move_to()method to perform extra checks on moving children. - Fix support for UUID fields as primary key.
- Security notice: fixed missing permission check on moving nodes, all staff members could move nodes.
- Add Spanish (Argentina) language
- Fix rendering of empty list items on Django 1.9+ that have non-existing attributes/objects.
- Enforcing django-polymorphic >= 1.0.1 for Django 1.10.1 compatibility. (the previous version already required django-polymorphic 1.0)
- Added Django 1.10 support
- Added convenient get_closest_ancestor_of_type() and get_ancestors_of_type() methods
- Support proxy model filtering by django-polymorphic 1.0
- Dropped Django 1.5 support / django-mptt 0.6 support.
Note
As of Django 1.10 managers of abstract classes are also inherited.
Hence, the need to override _default_manager is removed.
Use objects = YourPolymorphicMPTTManager() to override the manager now.
Make sure django-polymorphic 1.0 is installed for Django 1.10 projects.
- Fix grappelli theme appearance for admin list.
- Fix
admin/polymorphic_tree/object_history.htmltemplate typoo.
- Fix tree list appearance for Django 1.8 and below (classic theme).
- Fix tree list appearance for Django 1.9 and flat theme.
- Fix breadcrumbs in Django 1.7+, displaying the
AppConfigname. - Fix breadcrumbs in
object_history.htmltemplate. NOTE: This may require to redefine anadmin/polymorphic_tree/object_history.htmltemplate when your project uses django-reversion or django-reversion-compare.
- Fix compatibility with Django 1.9.
- Fix support for MPTT
get_previous_sibling()/get_next_sibling(). - Fix compatibility with django-polymorphic 0.8 final
- Fix compatibility with upcoming django-polymorphic 0.8
- Fixed URL resolving for for multi admin sites.
- Fixed URL breadcrumbs for delete page, visible when using non-standard delete URLs (e.g. django-parler's delete translation page).
- Fixed showing
DateTimeFieldin local time. - Enforcing at least django-polymorphic 0.7.1 for Django 1.8 compatibility.
- Added Django 1.8 compatibility
- Added django-mptt 0.7 support
- Fixed Python 3 issue in the admin code
- Fixed attempting to import south in Django 1.7/1.8 environments
- Fixed default MPTT model ordering, using tree_id, lft now
- Test
polymorphic.__version__to determine the api ofget_child_type_choice().
- Fixed Django 1.7 deprecation warnings
- Fix support for future 0.14, which removed
future.utils.six.
- Added Python 3 support
- Added Django 1.7 support
- Upgraded jqTree to latest version, and converted to a Git submodule
- Fix Django 1.6 transaction support
- Fix object
.save()calls when moving items in the tree. There is no need to refetch the object, so the object.save()method can detect changes in it's parent.
- Fix breadcrumbs, used title` attribute instead of
__unicode__().
- Hide "add" icon when there is no permission.
- Fix Django 1.6 deprecation warnings for simplejson module.
- Added workaround for large data sets, temporarily disabled pagination. NOTE: this issue needs to be looked at in more depth, and is a quick fix only.
- Fix deprecation warning from django-polymorphic.
- Fix Django 1.3 support by 0.8.7 (will only bump app requirements on major releases, e.g. 0.9).
- Fix Django 1.5 support in the templates
- Fix Django 1.6 support, use new
django.conf.urlsimport path. Note you need to use django-polymorphic >= 0.5.1 as well with Django 1.6.
- Fixes for moving nodes in the admin:
- Call
model.save()so post-save updates are executed.- Update the preview URL in the "Actions" column.
- Perform database updates in a single transaction.
- Depend on django-polymorphic 0.3.1, which contains our
PolymorphicParentAdminnow. - Depend on django-tag-parser, the tag parsing utilities have been migrated to that app.
- Marked as beta release, as the API of the polymorphic admin is now finalized.
- Fix list appearance in combination with django-grappelli
- Improve error messages on invalid movements
- Fix row alignment in the admin interface
- Spelling and typoo fixes, print statement
BIC: Changed changed the dynamic model registration in
PolymorphicParentAdmin.Instead of
get_child_model_classes()+get_admin_for_model()there is aget_child_models()method that works like the staticchild_modelsregistration. This also removes to need to provide aModelAdmininstance somehow, only the class has to be provided.Fixed
raw_id_fieldsfor child admins.Fixed accidental late registration of models, fixes the "Save and Continue" button.
Improved protection of custom subclass views.
Generate
django.mofiles duringsetup.py sdist.Added Dutch translation
- Added
type_labeltoNodeTypeChoiceForm, for simple label switching. - Added API's to support django-fluent-pages, and other systems:
- Allow the model.``can_have_children`` to be a property
- Allow to override the error message in PolymorphicTreeForeignKey
- Added
can_preview_object()code in the admin, used in the actions column.
- Updated README examples
First alpha release, extracted from django-fluent-pages.
Simplified a lot of code to be tightly focused on the MPTT + Polymorphic code, and not bother with a plugin registration system.