115 votes

Plusieurs modèles dans un seul django ModelForm ?

Est-il possible d'inclure plusieurs modèles dans une même ModelForm dans django ? J'essaie de créer un formulaire de modification de profil. J'ai donc besoin d'inclure certains champs du modèle User. y le modèle UserProfile. Actuellement, j'utilise deux formulaires comme celui-ci

class UserEditForm(ModelForm):

    class Meta:
        model = User
        fields = ("first_name", "last_name")

class UserProfileForm(ModelForm):

    class Meta:
        model = UserProfile
        fields = ("middle_name", "home_phone", "work_phone", "cell_phone")

Existe-t-il un moyen de les regrouper en un seul formulaire ou dois-je simplement créer un formulaire et gérer moi-même le chargement et la sauvegarde de la base de données ?

0 votes

0 votes

2voto

Vous devriez probablement jeter un coup d'œil à Jeux de formulaires en ligne . Les formsets en ligne sont utilisés lorsque vos modèles sont liés par une clé étrangère.

1 votes

Les jeux de formulaires en ligne sont utilisés lorsque vous devez travailler avec une relation de un à plusieurs. Par exemple, une entreprise dans laquelle vous ajoutez des employés. J'essaie de combiner deux tableaux en un seul formulaire. Il s'agit d'une relation de un à un.

0 votes

L'utilisation d'un jeu de formulaires en ligne pourrait fonctionner, mais ne serait probablement pas idéale. Vous pourriez également créer un modèle qui gère la relation pour vous, puis utiliser un seul formulaire. Le fait d'avoir une seule page avec deux formulaires comme suggéré dans le document stackoverflow.com/questions/2770810/ fonctionnerait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X