Skip to content

andreasfreier/django-orderedmodel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-orderedmodel -- orderable models for Django

django-orderedmodel intends to help you create Django models which can be moved up\down (or left\right) with respect to each other.

How to use

There are a few simple steps to follow to make your models orderable:

  1. git clone git://github.com/kirelagin/django-orderedmodel.git.
  2. Copy (or, even better, symlink) orderedmodel directory to your Django project.
  3. Add 'orderedmodel' to INSTALLED_APPS in your settings.py.
  4. Ensure that your project is using django.contrib.staticfiles to serve static content (this is now required for compatibility with Django 1.4+).
  5. Derive your Model from orderedmodel.OrderedModel.
  6. Derive your ModelAdmin from orderedmodel.OrderedModelAdmin.
  7. Add reorder field to yout ModelAdmin's list_display.
  8. Enjoy!

Now you can use order_by('order') in your query to get instances of your model in desired order (actually it is not neccessary to call order_by explicitly unless you have changed default ordering in your model's Meta).

Example

Suppose you have a django app called testapp. You need an orderable model TestModel.

models.py:

from django.db import models
from orderedmodel import OrderedModel

class TestModel(OrderedModel):
  name = models.CharField(max_length=30)

admin.py:

from django.contrib import admin
from orderedmodel import OrderedModelAdmin

from testapp.models import TestModel


class TestModelAdmin(OrderedModelAdmin):
  list_display = ['name', 'reorder']

admin.site.register(TestModel, TestModelAdmin)

Yep! Now if you create several instances of your model and look into admin site you'll see something like this:

Admin screenshot

Django versions

Current version of django-orderedmodel requires Django-1.4+.

See branch django-1.3 for version compatible with Django-1.3.

About

Orderable models for Django

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 100.0%