À titre de test, nous insérons trois lignes de données dans le tableau :
id|name|type_choice
1|aa|a
2|bb|b
3|cc|c
formulaire :
class IndexForm(forms.ModelForm):
TYPE_CHOICE = (
('1', 'a'),
('2', 'b'),
('3', 'c')
)
test_choice_type = forms.ModelChoiceField(queryset=TestModel.objects.filter(id__lte=2))
test_multiple_choice_type = forms.ModelMultipleChoiceField(queryset=TestModel.objects.filter(id__lte=2))
class Meta:
model = TestModel
fields = ('name', 'type_choice')
Dans le formulaire ci-dessus, nous avons créé ModelChoiceField et ModelMutipleChoiceField Dans le jeu de requêtes, nous interrogeons les objets dont l'identifiant est inférieur ou égal à 2.
Cela peut être vu de ceci : ModelChoiceField renvoie la valeur via cleaning_data à l'instance du modèle correspondant à l'ensemble de requêtes correspondant. ModelMultipleChoiceField renvoie une liste d'instances du modèle correspondant à l'ensemble de requêtes correspondant via cleaning_data. D'autres formulaires utilisent la valeur de retour cleaning_data pour définir le type de leurs champs. La documentation de Django est très claire, vous pouvez la lire attentivement.
Nous pouvons le tester en utilisant le code :
modèle :
À titre de test, nous insérons trois lignes de données dans le tableau :
formulaire :
Dans le formulaire ci-dessus, nous avons créé ModelChoiceField et ModelMutipleChoiceField Dans le jeu de requêtes, nous interrogeons les objets dont l'identifiant est inférieur ou égal à 2.
vue :
Modèle :
Nous remplissons le formulaire comme suit.
Le résultat de sortie est :
Cela peut être vu de ceci :
ModelChoiceField renvoie la valeur via cleaning_data à l'instance du modèle correspondant à l'ensemble de requêtes correspondant.
ModelMultipleChoiceField renvoie une liste d'instances du modèle correspondant à l'ensemble de requêtes correspondant via cleaning_data.
D'autres formulaires utilisent la valeur de retour cleaning_data pour définir le type de leurs champs.
La documentation de Django est très claire, vous pouvez la lire attentivement.