Je souhaite utiliser ModelFormset pour mettre à jour les données de la table. Chaque ligne de l'image contient un formulaire avec deux champs et un champ dans le formulaire requis.
Je ne veux pas utiliser un formulaire vide pour créer un nouvel objet et je peux simplement le supprimer du rendu dans le modèle, ainsi que la méthode de sauvegarde de sous-classe pour enregistrer uniquement les formulaires avec les données initiales de queryset:
class MyFormSet(BaseModelFormSet):
def save(self, commit=True):
if not commit:
self.saved_forms = []
return self.save_existing_objects(commit)
mais le formulaire vide doit encore être validé, et j'ai une erreur de validation sur le champ requis.
Comment puis-je désactiver l'utilisation / la validation du formulaire "nouvel objet"?
Réponses:
0 pour la réponse № 1Utilisateur le supplémentaire paramètre
Le nombre de formulaires vides affichés est contrôlé par le paramètre supplémentaire. Par défaut, formset_factory () définit un formulaire supplémentaire. L'exemple suivant n'affichera aucun formulaire vierge:
modelformset_factory(model, formset=MyFormSet, extra=1)