--- id: django-multiselectfield version: "1.0.1" license: LGPL 3 license_treatment: copyleft maintenance: aging --- # django-multiselectfield — Django multiple select field License: copyleft · Maintenance: aging · Downloads: 1.2M/mo ## What it is and what it does django-multiselectfield extends Django's model and form field system to handle multiple selections from a predefined choice list. Instead of using a separate many-to-many table, it stores the selected values as a comma-separated string in a CharField, which is simpler for lightweight use cases but trades query flexibility for simplicity. The package provides two field types: MultiSelectField for basic multi-choice storage and SortMultiSelectField (added in version 1.0.0) for user-orderable selections using jQuery UI. The package integrates directly into Django's admin interface and form rendering. It handles validation (min_choices, max_choices), provides a display method for templates, and includes CSS fixes for admin alignment. The core dependency is Django alone; it supports Python 3.8+ and Django 3.2 through 5.1. Maintenance is steady but aging, with the last release in June 2025. Use it for: - Store tags or categories on a model where a many-to-many table is overkill and simple comma-separated storage suffices. - Add multi-select checkboxes to Django admin forms without writing custom widgets. - Let users rank or reorder selected items using SortMultiSelectField with jQuery UI drag-and-drop. - Filter Django admin list views by multiple selections using the provided SimpleListFilter pattern. - Display multiple selections in admin list_display using the get_FOO_display() helper. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds model and form fields to Django that let you store and manage multiple selections from a choice list, persisting them as comma-separated values in a CharField. Yes, if you need lightweight multi-select storage in Django without a separate table. Install friction is minimal and the package is stable. However, consider a proper many-to-many relationship if you need complex queries, filtering, or large-scale data. The LGPL license requires source disclosure of modifications in derivative works, which is fine for most projects but needs review in proprietary contexts. ## Install pip install django-multiselectfield uv add django-multiselectfield poetry add django-multiselectfield ## Installing django-multiselectfield Before you install: Low friction: pure Python wheel with only Django as a runtime dependency. Last release was 2025-06-12 and repo is active with 469 stars, though maintenance status is aging (428 days since last release). License in practice: Licensed under LGPL 3 (copyleft). You must disclose source code modifications and distribute under the same license if you redistribute the package; acceptable for most open-source and internal projects but requires review in proprietary contexts. Quickstart: pip install django-multiselectfield from multiselectfield import MultiSelectField class MyModel(models.Model): choices = (('key1', 'Label 1'), ('key2', 'Label 2')) my_field = MultiSelectField(choices=choices, default=['key1']) Requires Django 3.2+ and Python 3.8+. For SortMultiSelectField, jQuery and jQuery UI must be included in your template. Verify before relying: - Whether the package handles Django 5.2+ beyond the classifiers listed (5.0 and 5.1 are declared supported). - Performance characteristics when storing large numbers of selections in a single field. - Migration path if you need to convert comma-separated storage to a proper many-to-many relationship. ## Package facts - License: LGPL 3 (copyleft) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 1.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django multiple select field, django multiselect choices, django comma-separated choices, django multi-choice form field, django multiple checkbox field, store multiple selections django, django sortable multiselect, django-form-field, admin-integration [View on SkillFed](https://skillfed.io/packages/django-multiselectfield) · [View on PyPI](https://pypi.org/project/django-multiselectfield/)