django-ordered-model
Allows Django models to be ordered and provides a simple admin interface for reordering them.
Decision gist · record as of 2026-08-14
Yes, if you need model ordering in Django and can accept dormant maintenance. The package is stable, has no security vulnerabilities, installs with zero friction, and solves a common problem cleanly. However, verify compatibility with your Django version since the last release was 2023-03-17 and no updates are planned.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django to be installed and configured; models must be migrated after inheriting from OrderedModel.
- Low friction install with no runtime dependencies.
- Maintenance is dormant—last release was 2023-03-17 and no commits since 2024-11-15—so expect no active bug fixes or feature updates, though marked Production/Stable.
License · maintenance · safety
permissive license (permissive) — Licensed under BSD (permissive), so you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2023-03-17 (1246 days) · last repo commit 2024-11-15 · 754 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 719,437 downloads/mo, #5,240 on PyPI
Alternatives
Verify before relying
pip install django-ordered-model
# In settings.py, add 'ordered_model' to INSTALLED_APPS
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100)
# After inheriting from OrderedModel and migrating:
foo = Item.objects.create(name="Foo")
bar = Item.objects.create(name="Bar")
foo.swap(bar)
foo.up()
foo.to(5)- Whether the package works with Django versions released after 2023-03-17
- Whether subset ordering scales well with large datasets
- Current compatibility with modern Python and Django releases
What it is and what it does
django-ordered-model is a Django app that lets you add ordering to any model by inheriting from a base class instead of models.Model directly. It maintains an order field and provides methods to move instances relative to each other—up, down, to a specific position, above or below another instance, or to the top or bottom of the stack. It also supports subset ordering so you can order items independently within groups, such as each user's contacts ordered separately.
The package includes a custom manager and queryset with additional filtering methods, and integrates with Django's admin interface for reordering. It uses Django's update() method for performance when shifting other objects' positions. The codebase is marked Production/Stable but maintenance is dormant with no releases since 2023-03-17.
Use it for
- Manage a ranked or prioritized list of items in a Django app where users can reorder via admin.
- Order contacts, tasks, or other entities independently per user or group using subset ordering.
- Build a many-to-many relationship with custom ordering via a through model.
- Implement a sortable list of questions or content blocks where position matters and can change dynamically.
- Query for items above or below a threshold position without manually managing sort indices.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need model ordering in Django and can accept dormant maintenance.
The package is stable, has no security vulnerabilities, installs with zero friction, and solves a common problem cleanly. However, verify compatibility with your Django version since the last release was 2023-03-17 and no updates are planned.
Install
django-ordered-model on PyPI
Before you install
Low friction install with no runtime dependencies. Maintenance is dormant—last release was 2023-03-17 and no commits since 2024-11-15—so expect no active bug fixes or feature updates, though marked Production/Stable.
Requires Django to be installed and configured; models must be migrated after inheriting from OrderedModel.
License in practice
Licensed under BSD (permissive), so you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install django-ordered-model
# In settings.py, add 'ordered_model' to INSTALLED_APPS
from django.db import models
class Item(models.Model):
name = models.CharField(max_length=100)
# After inheriting from OrderedModel and migrating:
foo = Item.objects.create(name="Foo")
bar = Item.objects.create(name="Bar")
foo.swap(bar)
foo.up()
foo.to(5)
Verify before relying
- Whether the package works with Django versions released after 2023-03-17
- Whether subset ordering scales well with large datasets
- Current compatibility with modern Python and Django releases
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 1,246 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 719,437 / month, #5,240 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 |
Evidence: django_ordered_model-3.7.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django model ordering”
- django-ordered-modelAdds ordering and reordering capabilities to Django models, with…
- django-admin-sortable2Adds drag-and-drop reordering of model instances directly in Django…
- django-tree-queriesQuery hierarchical tree structures in Django models using recursive…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also django-admin-sortable2 · django-reverse-admin · django-modelcluster · orderings · django-nested-inline · swapper · modelsearch · django-lifecycle · model-bakery · django-soft-delete