J'ai un profil d'utilisateur qui est actuellement montré dans l'Admin via une ligne empilée. Cependant, comme j'ai des champs tels que last_name_prefix et last_name_suffix (pour les noms étrangers tels que Piet van Dijk pour un tri correct par nom de famille), j'aimerais pouvoir entrelacer les champs du profil utilisateur avec les champs habituels de changement d'utilisateur. Ainsi, dans le changement interface utilisateur admin il apparaît comme ceci:Django entrelacement UserProfile avec profil dans Admin
Prénom:
Nom Prefix:
Nom
Nom Suffixe:
J'ai essayé cette solution: http://groups.google.com/group/django-users/browse_thread/thread/bf7f2a0576e4afd1/5e3c1e98c0c2a5b1. Mais cela créait juste des champs supplémentaires dans le formulaire utilisateur qui ne provenaient pas réellement du profil de l'utilisateur (ils sont restés vides même s'ils devraient obtenir des valeurs du profil de l'utilisateur).
Quelqu'un pourrait m'expliquer si cela pouvait être fait et comment? Merci beaucoup!
Merci pour votre réponse. J'ai essayé plusieurs façons, mais je n'arrive pas à obtenir des champs de l'utilisateur et UserProfile dans un formulaire. Autant que je sache, c'est impossible. Voulez-vous dire que vous utilisez la classe Meta: model = UserProfile' et ajoutez manuellement les champs User (ces champs ne seront pas réellement connectés au modèle User). Pourriez-vous expliquer un peu plus en détail comment vous feriez cela? – Heyl1
Oui, pour autant que je sache, il n'y a aucun moyen de le faire automatiquement. Mais une combinaison de mettre manuellement dans les champs, puis en utilisant 'initial' pour remplir les formulaires, et encore, en utilisant une fonction personnalisée' save' pour gérer l'enregistrement de l'enregistrement de l'utilisateur plus tard. Pour votre cas particulier, vous pouvez regarder ceci: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/ –
Jordan, merci encore pour votre réponse. Désolé pour la réponse tardive. J'ai regardé le lien et je l'ai testé. Ce qui ne fonctionnerait pas pour moi est de définir le mot de passe, car le lien vers la page de création du mot de passe est incorrect. Vous devez aller à l'instance utilisateur réelle et le faire là (donc l'utilisateur doit être dans l'admin). Je ne sais pas si vous avez une expérience avec cela. Je pense que la solution est assez soignée, mais je suis un peu hésitant à ne pas utiliser user_profile (et il y a quelques critiques dans les commentaires). Votre autre suggestion est moins intuitive mais je pense que je vais aller avec la solution du lien. – Heyl1