Install & Compatibility
Where this runs
tested against v1.7.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 66.6MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.4s · import 0.000s · 67MB
66MB installed
● package 66MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ChainedForeignKey
✓ from smart_selects import ChainedForeignKey
✗ from smart_selects.db_fields import ChainedForeignKey
Basic usage: define a ChainedForeignKey in models and register in admin.
# models.py
from django.db import models
from smart_selects.db_fields import ChainedForeignKey
class Location(models.Model):
continent = models.CharField(max_length=100)
class Country(models.Model):
continent = models.ForeignKey(Location, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
class City(models.Model):
country = ChainedForeignKey(
Country,
chained_field="continent",
chained_model_field="continent",
show_all=False,
auto_choose=True,
sort=True
)
name = models.CharField(max_length=100)
# admin.py
from django.contrib import admin
from .models import City
admin.site.register(City)
Upgrade
Version history
1.7.2latest on PyPI · released Nov 17, 2024
Audit
Dependencies
djangorequiredRuntime dependency