Skip to main content

Django app allowing users to manually order objects via admin.

Project description

Django Order

Django app allowing users to manually order objects via admin.

Provides an additional order tool within admin with which objects can be ordered by any number of arbitrary settings defined fields. A user_order_by queryset method allows for retrieval of objects as they were ordered by users via admin.

Installation

  1. Install or add django-order to your Python path.

  2. Install django-object-tools as described here.

  3. Add order to your INSTALLED_APPS setting.

  4. Add an ORDERABLE_MODELS setting to your project’s settings.py file. This settings is a dictionary containing model-app label strings for those models you want to make orderable as keys. Values take the form of a tupple containing field names on which you want the relevant model to be orderable. I.e. to make the User model orderable for hypothetical home and users pages, add the following ORDERABLE_MODELS setting:

    ORDERABLE_MODELS = {
        'auth.User': ('home', 'users'),
    }

Usage

Admin

Once a model has been registered as orderable an additional Order object tool should be visible on the model’s change list view.

http://cloud.github.com/downloads/praekelt/django-order/django-order-tool.jpg

You can order your items using this tool for each field name specified for you orderable model.

Querysets

With the order app installed all queryset objects will have a new user_order_by method. This method behaves exactly the same as Django’s builtin order_by method except that it expects one of the settings defined field names for the model being queried. It will order the queryset based on the field name you provide. For example, to order users for the home page in our hypothetical example you would use the method as follows:

User.objects.all().user_order_by('home')

Authors

Praekelt Foundation

  • Shaun Sephton

Changelog

0.0.7 (2011-09-15)

  1. django-object-tools refactor.

0.0.6

  1. Tests, docs, cleanup, descending ordering, bugfixes.

0.0.5

  1. No longer use class_prepared signal.

0.0.4

#.Initial public release.

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-order-0.0.7.tar.gz (8.0 kB view hashes)

Uploaded Source

Built Distributions

django_order-0.0.7-py2.7.egg (15.9 kB view hashes)

Uploaded Source

django_order-0.0.7-py2.6.egg (15.9 kB view hashes)

Uploaded Source

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