Skip to main content

Django admin fk and m2m dynamic choices by providing callback support

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-dynamic-choices-1.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

django_dynamic_choices-1.1.0-py2.py3-none-any.whl (21.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-dynamic-choices-1.1.0.tar.gz.

File metadata

File hashes

Hashes for django-dynamic-choices-1.1.0.tar.gz
Algorithm Hash digest
SHA256 5845bdb982adc259001e7eb31bdc7ab755e661d86e082dbae2000ee1555dc661
MD5 aa1d60f26085ba09fac9c22521120814
BLAKE2b-256 738bec3373f0696c769d9f53565e43877f2c76b4dab58ea6cbaf47522753b8a3

See more details on using hashes here.

File details

Details for the file django_dynamic_choices-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_dynamic_choices-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 eb11a09c754907aa53c3566596331a22ed6cc57186092b0421a1c7ffd058a55d
MD5 dd7e06d034ba62f96be861541b24ae6a
BLAKE2b-256 67c44a5c76322a8dd8f9cefeb257022407416ed3d0994f44871aa718b18f8f42

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page