Création d'un formulaire Django pour enregistrer deux modèles
J'ai l'ordinaire Django User
modèle et un UserDetails
modèle (OneToOneField
avec User
), qui sert comme une extension de la User
modèle. (J'ai essayé de Django 1.5-métrage et c'est un mal de tête avec étrangement horrible de la documentation, j'ai donc coincé avec OneToOneField
option)
Donc, dans ma quête pour construire votre propre page d'inscription qui aura un formulaire d'inscription composé de la User
champs et les UserDetails
champs, je me demandais si il y avait un moyen pour générer le formulaire automatiquement (avec tous ses validations) de ces deux modèles. Je sais que cela fonctionne pour un formulaire d'un modèle:
class Meta:
model = MyModel
Mais est-il de toute façon à obtenir une fonctionnalité similaire pour un formulaire composé de deux modèles?
source d'informationauteur Orca
Vous devez vous connecter pour publier un commentaire.
Une façon que vous pouvez accomplir cela, si vous voulez garder la ModelForm pour l'Utilisateur et UserDetails distinct serait de revenir à l'avant-fin, et assurez-vous qu'ils sont tous les deux dans le même élément de formulaire html (c'est à dire tous les champs seront retournés lorsque les données sont affichées).
Cela fonctionne si l'Utilisateur et UserDetails n'ont pas de champs avec le même nom. Pour entrer les données dans chaque ModelForm exemple, vous utilisez la méthode habituelle: