--- id: django-citext version: "1.0.3" license: unclear license_treatment: permissive maintenance: active --- # django-citext — PostgreSQL CIText integration for Django. License: permissive · Maintenance: active · Downloads: 78.4K/mo ## What it is and what it does Django-citext restores PostgreSQL's CIText field support to Django after it was removed in Django 5.0. It provides CITextField and CIEmailField that store text in PostgreSQL's case-insensitive citext type, making queries case-insensitive at the database level rather than in application code. The package is a thin wrapper around Django's model field API, requiring only django as a runtime dependency. You add it to INSTALLED_APPS, then use CITextField or CIEmailField in your models just like standard Django fields. Queries automatically become case-insensitive—a lookup for 'user@example.com' will match 'USER@EXAMPLE.COM' in the database without extra application logic. This is useful when you need case-insensitive matching but want the database to handle it efficiently. Use it for: - Store user emails with case-insensitive uniqueness constraints to prevent duplicate accounts with different casing - Build case-insensitive username or slug fields that match user input regardless of capitalization - Query product names or tags without worrying about case variations in the stored data - Migrate from Django's removed CIText implementation to a compatible replacement ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides PostgreSQL CIText field types for Django models, enabling case-insensitive text and email fields that delegate matching to the database. Yes, if you use PostgreSQL and need case-insensitive text fields in Django. Low friction, active maintenance, permissive license, and no known vulnerabilities. The main constraint is PostgreSQL dependency—this only works with PostgreSQL databases, not SQLite or MySQL. Suitable for production use in Django 4.2+ projects. ## Install pip install django-citext uv add django-citext poetry add django-citext ## Installing django-citext Before you install: Low install friction with a single django dependency. Actively maintained with recent commits and compatible with Django 4.2 through 5.2 and Python 3.9+. License in practice: Permissive license means you can use, modify, and distribute this package with minimal restrictions in both open-source and commercial projects. Quickstart: pip install django-citext # settings.py INSTALLED_APPS = [ "citext", ] # models.py from citext import CITextField, CIEmailField class MyModel(models.Model): name = CITextField() email = CIEmailField(unique=True) Requires PostgreSQL database; does not work with SQLite or MySQL. Verify before relying: - Whether CITextField and CIEmailField support all Django field options beyond the basic usage shown - Performance characteristics when querying large tables with case-insensitive lookups - Compatibility with Django ORM features like Q objects and complex queries ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 78.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django postgresql case insensitive, citext django fields, case insensitive email django, postgres citext integration, django case insensitive text, postgresql text search django, postgres-integration, django-orm [View on SkillFed](https://skillfed.io/packages/django-citext) · [View on PyPI](https://pypi.org/project/django-citext/)