- 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.six
dependency.
- Added Django 2.0 support.
- Added
base_manager_name
setting in modelMeta
options, like django-polymorphic 2.0 does. - Fixed crash in
get_child_types()
whencan_have_children
isFalse
. - 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
PolymorphicMPTTModel
in an abstract model. - Fixed
PolymorphicMPTTQuerySet.as_manager()
usage to return the proper manager.
- Add ability to restrict children, via
child_types
list on the model. The value can be["self", "app.Model", "Model", Model]
. - Added ability to set
can_be_root
to 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.html
template 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
AppConfig
name. - Fix breadcrumbs in
object_history.html
template. NOTE: This may require to redefine anadmin/polymorphic_tree/object_history.html
template 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
DateTimeField
in 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.urls
import 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
PolymorphicParentAdmin
now. - 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_models
registration. This also removes to need to provide aModelAdmin
instance somehow, only the class has to be provided.Fixed
raw_id_fields
for child admins.Fixed accidental late registration of models, fixes the "Save and Continue" button.
Improved protection of custom subclass views.
Generate
django.mo
files duringsetup.py sdist
.Added Dutch translation
- Added
type_label
toNodeTypeChoiceForm
, 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.