Fetching contributors…
Cannot retrieve contributors at this time
315 lines (219 sloc) 8.89 KB


1.5.1 (in development)


  • #101: Add support for a custom base class for the many to many intermediate class. See the README for documentation. Thank you Rohith Asrk for the patch.
  • #87: Fix AlterSortedManyToManyField operation to support custom set _sort_field_name.


  • #104: Add compatibility for Django 1.10 and 1.11! Thank you Frankie Dintino for the patch.
  • #94: Add french translation files. Mainly for strings in the admin. Thanks to ppython for the patch.
  • #93: Prevent users from accidentally importing and using ManyToManyField instead of SortedManyToManyField from sortedm2m. Thanks Dayne May for the patch.


  • #91 & #92: Fix admin widget, when used with Django 1.10. The add a new item opup was not closing. Thanks to Tipuch for the patch.


  • #80 & #83: Fix SortedMultipleChoiceField.clean if the validated value is None. Thanks to Alex Mannhold for the patch.


  • #57 & #81: Fix add related object popup error prevents operation when no related objects already exist. Thanks to Vadim Sikora for the fix.


  • #79: Use .sortedm2m-item selector in the widget's JavaScript code to target the list items. This was previously ul.sortedm2m li. This improves compatibility other markup that does not want to use ul/li tags. Thanks to Michal Dabski for the patch.

    Note: If you use custom markup with the JavaScript code, you need to make sure that the items now have the sortedm2m-item class name.

  • #76: Add support for to_field_name to SortedMultipleChoiceField. Thanks to Conrad Kramer for the patch.


  • #75: Fix "add another" admin popup. It didn't refresh the list of items in Django 1.8+. Thanks to Vadim Sikora for the patch.


  • skipped


  • Dropping Python 3.2 support. It has reached end of life in February 2016.


  • #71: Don't break collectstatic for some cases. Therefore we removed the STATIC_URL prefix from the form media definition in SortedCheckboxSelectMultiple. Thanks to Kirill Ermolov for the patch.


  • #70: CSS fix for Django 1.9 new admin design. Thanks to Maarten Draijer for the patch.


  • #59, #65, #68: Django 1.9 support. Thanks to Scott Kyle and Jasper Maes for patches.
  • #67: Support for disabling migrations for some models, that can be decided by Django's DB router (with the allow_migrate_model method). Thanks to @hstanev for the patch.


  • #56: Fix bug where order is wrong after adding objects. That had to do with using the count of the m2m objects for the next sort_value value. We now use the corret Max aggregation to make sure that newly added objects will be in order. Thanks to Scott Kyle for the report and patch.


  • Performance fix for sorted m2m admin widget. See #54 for details. Thanks to Jonathan Liuti for fixing this.


  • Hooray, we officially declare django-sortedm2m to be stable and promise to be backwards compatible to new releases (we already doing good since since the beginning in that regard).
  • Django 1.8 support for AlterSortedManyToManyField operation. Thanks to Nicolas Trésegnie for starting the implementation.


  • The creation of the sortedm2m intermediate model and database table is now fully done inside of the SortedManyToManyField class. That makes it much easier to modify the creation of this when creating a custom subclass of this field. See #49 for an example usecase.
  • Adding support for the custom field arguments like sorted and sort_value_field_name in Django 1.7 migrations. Thanks to Christian Kohlstedde for the patch.


  • Fixing when run on a system that does not use UTF-8 as default encoding. See #48 for details. Thanks to Richard Mitchell for the patch.


  • Fix: SortedMultipleChoiceField did not properly report changes of the data to Form.changed_data. Thanks to @smcoll for the patch.


  • Fix: AlterSortedManyToManyField operation failed for postgres databases.
  • Testing against MySQL databases.


  • Fix: AlterSortedManyToManyField operation failed for many to many fields which already contained some data.


  • Fix: When using the sortable admin widget, deselecting an item in the list had not effect. Thank you to madEng84 for the report and patch!


  • Adding AlterSortedManyToManyField migration operation that allows you to migrate from ManyToManyField to SortedManyToManyField and vice versa. Thanks to Joaquín Pérez for the patch!
  • Fix: Supporting migrations in Django 1.7.4.
  • Fix: The admin widget is not broken anymore for dynamically added inline forms. Thanks to Rubén Díaz for the patch!


  • Adding support for Django 1.7 migrations. Thanks to Patryk Hes and Richard Barran for their reports.
  • Adding czech translations. Thanks to @cuchac for the pull request.


  • Adding support for Django 1.7 and dropping support for Django 1.4.


  • Adding support for prefetch_related(). Thanks to Marcin Ossowski for the idea and patch.


  • Correct escaping of for attribute in label for the sortedm2m widget. Thanks to Mystic-Mirage for the report and fix.


  • Python 3 support!
  • Better widget. Thanks to Mike Knoop for the initial patch.


  • Django 1.5 support. Thanks to Antti Kaihola for the patches.
  • Dropping Django 1.3 support. Please use django-sortedm2m<0.5 if you need to use Django 1.3.
  • Adding support for a sort_value_field_name argument in SortedManyToManyField. Thanks to Trey Hunner for the idea.


  • Django 1.4 support. Thanks to Flavio Curella for the patch.
  • south support is only enabled if south is actually in your INSTALLED_APPS setting. Thanks to tcmb for the report and Florian Ilgenfritz for the patch.


  • South support (via monkeypatching, but anyway... it's there!). Thanks to Chris Church for the patch. South migrations won't pick up a changed sorted argument though.


  • Use already included jQuery version in global scope and don't override with django's version. Thank you to Hendrik van der Linde for reporting this issue.


  • Fixed packaging error.


  • Heavy internal refactorings. These were necessary to solve a problem with SortedManyToManyField and a reference to 'self'.


  • Forgot to exclude debug print/console.log statements from code. Sorry.


  • Fixing problems with SortedCheckboxSelectMultiple widget, especially in admin where a "create and add another item" popup is available.


  • Fixing issue with primary keys instead of model instances for .add() and .remove() methods in SortedRelatedManager.


  • Fixing validation error for SortedCheckboxSelectMultiple. It caused errors if only one value was passed.


  • Removed unnecessary reference of jquery ui css file in SortedCheckboxSelectMultiple. Thanks to Klaas van Schelven and Yuwei Yu for the hint.


  • Added a widget for use in admin.