Tenez compte de ces 3 modèles:Django modèle Choix champ: Liste énorme de choix
# models.py
class City(models.Model):
name = models.CharField(max_length=50)
class Institute(models.Model):
name = models.CharField(max_length=100)
city = models.ForeignKey(City)
class Student(models.Model):
name = models.CharField(max_length=60)
roll = models.CharField(max_length=10)
institute = models.ForeignKey(Institute)
Maintenant, je crée un modèle de formulaire pour ajouter/étudiants modifier mais je fournir la possibilité de choisir la ville et l'Institut pour l'utilisateur. Donc, fondamentalement, lorsqu'un utilisateur sélectionne la ville les instituts correspondants sont affichés en utilisant JavaScript
# forms.py
class StudentForm(forms.ModelForm):
city = forms.ModelChoiceField(City)
institute = forms.ModelChoiceField(queryset=Institute.objects.all())
class Meta:
model = Student
Mais le nombre d'instituts est sur 3000. Donc ce que je veux est de garder les choix que les blancs d'abord pour le champ institut (coz ils seront rempli par le JavaScript une fois que l'utilisateur a sélectionné une ville), mais lors de la soumission des données, j'obtiens une erreur de validation "Sélectionner un choix valide". Des idées pour s'attaquer à ce problème?
Note: Quand je ne précise pas les choix (pour le champ institut) la taille de la page Web est 300KB et quand je les spécifier la taille de la page Web est
1.1MB
Pourriez-vous montrer le code JavaScript ainsi? – LaundroMat