django-dynamic-choices 1.1.0
Django admin fk and m2m dynamic choices by providing callback support
License: MIT
Keywords: django admin choices dynamic

django-dynamic-choices
======================

.. image:: https://travis-ci.org/charettes/django-dynamic-choices.svg?branch=master
    :target: https://travis-ci.org/charettes/django-dynamic-choices
    :alt: Build Status

.. image:: https://coveralls.io/repos/charettes/django-dynamic-choices/badge.svg?branch=master
    :target: https://coveralls.io/r/charettes/django-dynamic-choices?branch=master
    :alt: Coverage Status

Django appilcation that provides fk and m2m dynamic choices and react to django.contrib.admin
edit/add view interaction to update those choices.

Installation
------------

.. code:: sh

    pip install django-dynamic-choices


============================
django-dynamic-choices changelog
============================

Version 1.0.0, 22 february 2015
--------------------------------
* Added support for Django 1.7

Version 0.3.0, 6 august 2012
--------------------------------
* Simplified grouped queryset validation
* Added tested support for 1.4.X

Version 0.2.0, 31 March 2012:
--------------------------------
* dropped django 1.2.X support
* added django 1.4.X support

Version 0.1.8, 17 August 2011:
--------------------------------
* added DynamicChoicesOneToOneField.

Version 0.1.7, 20 June 2011:
--------------------------------
* fixed the FilteredSelectMultiple widget handler to works when the the widget
	is not initialized yet such as when the widget is used in an inline.
* simplified choices callback validation logic by using the class_prepared signal.
* added minimal testing for validation logic.
* fixed an issue with lazy reference FK and M2M.

Version 0.1.6, 7 May 2011:
--------------------------------
* raise exception when a custom admin add|change_form_template is specified
	on a DynamicAdmin if it doesn't extends the dynamic_choices one.
* make sure admin select widgets trigger 'change' events when a new option is added to them
	without relying on DOMEvents.
* make sure DynamicModelChoiceField's queryset returns distinct objects to avoid raising
	MultipleObjectsReturned when the dynamically generated queryset spans over multiple tables
  and returns the same object twice.

Version 0.1.5, 5 April 2011:
--------------------------------

* fixed some issue with the add link binders in the admin
* make DynamicChoicesQueryset cloneable

Version 0.1.4, 8 March 2011:
--------------------------------

* make sure Promise objects such as translation objects specified in the choices callback
  are encoded correcly.
* make sure admin select widgets trigger 'change' events when a new option is added to them
* added js field onchange bindings while making sure to avoid circular references

Version 0.1.3, 18 February 2011:
--------------------------------

* added js api to bind FK/M2M admin widget add links to specific fields
* added support for multiple jQuery versions
* fixed an issue with admin dynamic-choices js files not considering settings.(STATIC|MEDIA)_URL. Thanks bmeyer71@github.com
* embed admin choices binder directly in the page
  (make sure to extend "admin/dynamic_choices_change_form.html" if you're overriding DynamicAdmin.change|add_form_template)

Version 0.1.2, 5 February 2011:
--------------------------------

* fixed an issue with choices callback with no lookups
* fixed an issue with user defined forms on DynamicAdmin and inlines
* handle 3+ depth descriptors (field__field__...)

Version 0.1.1, 29 December 2010:
--------------------------------

* fixed an issue with formset empty form
* added support for south
* added support for reversion

I'm planing to refactor the code for version 0.2.0 in order to add support for dynamic managers or "model instance managers".
Dynamic choices will be bound to such managers. Data provided will also be wrapped in some class and tuple choices in some kind of QuerysetCollection.
Stay tuned!

Version 0.1.0, 27 December 2010:
--------------------------------

* initial release

At the moment this project is more of a "proof of concept" or exploration in order to find a clever way of adding dynamic model field choices to django.