django-solo
Django Solo helps working with singletons
Decision gist · record as of 2026-08-14
Yes, with caution on the license. The package is stable and widely used, has no known vulnerabilities, and low install friction. However, the aging maintenance status (225 days since last release) and unclear CC-BY-3.0 license classification warrant verification before production use. If your Django version and Python version are within the supported range and the license is acceptable, it is a solid choice for singleton model management.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django (a runtime dependency) and Python >= 3.10.
- Low install friction with a pure-Python wheel.
- Maintenance status is aging—last release was 225 days ago—but the repository remains active with 966 stars and no archived status.
License · maintenance · safety
CC-BY-3.0 (unclear) — License treatment is unclear: the SPDX identifier is CC-BY-3.0, which is a Creative Commons attribution license typically used for documentation and media rather than software code. Verify with the project maintainers whether this is the intended license for the package itself.
last release 2026-01-01 (225 days) · last repo commit 2026-01-01 · 966 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 460,963 downloads/mo, #6,536 on PyPI
Alternatives
Verify before relying
pip install django-solo
# models.py
from solo.models import SingletonModel
class SiteConfiguration(SingletonModel):
site_name = models.CharField(max_length=255)
# Retrieve the singleton
config = SiteConfiguration.get_solo()- Whether CC-BY-3.0 is the correct license for the package code or if it was misclassified.
- Current compatibility with Django 6.0 and Python 3.14 given the aging maintenance status.
- Whether the package is actively maintained despite the 225-day gap since last release.
What it is and what it does
Django Solo is a Django package that enforces single-instance models—database tables that can only ever contain one row. It provides a SingletonModel base class and a customized admin interface that prevents users from creating multiple instances or accidentally deleting the singleton. The package is useful for storing application-wide settings, configuration objects, or parent entities in one-to-many relationships that should never have more than one instance.
The package includes optional caching to reduce database queries, template tags for retrieving the singleton from Django templates, and admin customizations that skip the object list page and prevent add/delete operations. It supports Django 4.2, 5.2, and 6.0, with runtime dependencies on django and typing-extensions.
Use it for
- Store global or default application settings that need to be edited via Django admin instead of hardcoding in settings.py.
- Implement a parent entity in a one-to-many relationship (e.g., a single 'Home Slider' with many 'Slides') that should never have multiple instances.
- Manage site-wide configuration like maintenance mode flags or site name without creating unnecessary database rows.
- Create a single page section or team bio object that owns related sub-sections or team members.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with caution on the license.
The package is stable and widely used, has no known vulnerabilities, and low install friction. However, the aging maintenance status (225 days since last release) and unclear CC-BY-3.0 license classification warrant verification before production use. If your Django version and Python version are within the supported range and the license is acceptable, it is a solid choice for singleton model management.
Install
django-solo on PyPI
Before you install
Low install friction with a pure-Python wheel. Maintenance status is aging—last release was 225 days ago—but the repository remains active with 966 stars and no archived status.
Requires Django (a runtime dependency) and Python >= 3.10.
License in practice
License treatment is unclear: the SPDX identifier is CC-BY-3.0, which is a Creative Commons attribution license typically used for documentation and media rather than software code. Verify with the project maintainers whether this is the intended license for the package itself.
Quickstart
pip install django-solo
# models.py
from solo.models import SingletonModel
class SiteConfiguration(SingletonModel):
site_name = models.CharField(max_length=255)
# Retrieve the singleton
config = SiteConfiguration.get_solo()
Verify before relying
- Whether CC-BY-3.0 is the correct license for the package code or if it was misclassified.
- Current compatibility with Django 6.0 and Python 3.14 given the aging maintenance status.
- Whether the package is actively maintained despite the 225-day gap since last release.
Package facts
| License | CC-BY-3.0 unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesdjangotyping-extensions |
| Maintenance | Aging 225 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 460,963 / month, #6,536 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: Django :: 4.2Framework :: Django :: 5.2Framework :: Django :: 6.0Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: django_solo-2.5.1-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 singleton model”
- django-soloDjango Solo provides a base model class and admin interface for…
- dependency-injectorDependency Injector is a dependency injection framework that…
- solusProvides thread-safe and thread-unsafe singleton type decorators for…
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-modelcluster · django-appconf · drf-writable-nested · django-reverse-admin · solus · sentinels · pyjon.utils · wagtail-modeladmin · django-admin-interface · django-dynamic-preferences