{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks/5"}],"enrichment":{"capability":"Adds a Django model field that encodes primary keys as short, obfuscated sqid strings without modifying the database or model structure.","skillfed_tags":["django-field","id-obfuscation","url-slug"],"use_cases":["Expose model IDs in URLs and APIs as short, non-sequential sqid strings instead of raw integers.","Hide internal database IDs from external users while keeping queries simple and database-native.","Search and filter records by sqid in Django Admin without writing custom code.","Generate unique, obfuscated identifiers for each model or field using per-instance alphabet shuffling.","Build REST APIs that accept sqid strings in place of numeric IDs without custom serializer logic."],"what_it_does":"django-sqids is a Django model field that transparently encodes your model's primary key as a sqid\u2014a short, URL-safe, obfuscated string\u2014without storing anything extra in the database or altering your model schema. It acts as a proxy over the real `id` field, so queries and filtering work seamlessly: you can filter by sqid string, use it in URLs as a slug, and even search by sqid in Django Admin. The underlying integer ID remains unchanged; the sqid is computed on the fly.\n\nThe package is built on the sqids library and supports customization per field (min_length, alphabet, prefix) or globally via Django settings. It integrates with Django REST Framework serializers and supports standard ORM lookups like `in`, `gt`, `gte`, `lt`, `lte`, and `isnull`. The project was forked from django-hashids to adopt the newer Sqids library, which removed the \"salt\" parameter; django-sqids provides a `shuffle_alphabet` helper to achieve similar per-field uniqueness.","worth_installing":"Yes, if you need to expose model IDs as obfuscated strings in URLs or APIs without database changes. The package is low-friction, well-tested across modern Django and Python versions, and has no known vulnerabilities. The aging status (401 days since last release) is not a blocker\u2014the last commit is recent and the codebase is stable\u2014but verify that the documented Django and Python versions match your project before committing."},"id":"django-sqids","links":{"html":"https://skillfed.io/packages/django-sqids","md":"https://skillfed.io/packages/django-sqids.md","pypi":"https://pypi.org/project/django-sqids/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-07-09","license_spdx":null,"license_treatment":"permissive","name":"django-sqids","python_support":"supports_current","summary":"Non-intrusive sqids library for Django"},"popularity":{"monthly_downloads":88554,"position":13717,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.2.2"}
