J'ai un objet avec une relation ManyToMany avec un autre objet.
Dans l'administration Django, cela se traduit par une liste très longue dans une boîte de sélection multiple.
J'aimerais filtrer la relation ManyToMany afin de ne récupérer que les catégories disponibles dans la ville que le client a sélectionnée.
Est-ce possible ? Devrai-je créer un widget pour cela ? Et si c'est le cas, comment puis-je copier le comportement du champ ManyToMany standard dans ce champ, puisque j'aimerais que l'option filter_horizontal
également la fonction.
Ce sont mes modèles simplifiés :
class City(models.Model):
name = models.CharField(max_length=200)
class Category(models.Model):
name = models.CharField(max_length=200)
available_in = models.ManyToManyField(City)
class Customer(models.Model):
name = models.CharField(max_length=200)
city = models.ForeignKey(City)
categories = models.ManyToManyField(Category)