2010-06-23 4 views
0

Je sélectionne un objet (de type SourceClass) à partir du site d'administration et j'obtiens la page 'change'.Lors de la substitution des vues d'admin django, comment obtenir des informations sur un objet?

L'objet que j'ai sélectionné a une relation ForeignKey avec un autre type d'objet (TargetClass). La page de changement pour l'objet de type SourceClass me donne à la fois une liste déroulante (à partir d'un champ de formulaire select) et un lien pour ajouter une nouvelle TargetClass.

L'URL pour le lien ajouter est: http://localhost:8000/admin/app/sourceclass/add/

Le comportement habituel est que je sélectionne le lien ajouter, créer un nouvel objet TargetClass (dans la fenêtre pop-up qui s'ouvre) et après « Enregistrer » est cliqué Sur, mon objet SourceClass est lié à mon nouvel objet TargetClass.

Maintenant, au lieu de simplement demander à l'utilisateur d'ajouter des valeurs pour les champs pour TargetClass, je souhaite ajouter quelques étapes supplémentaires (par exemple via l'assistant de formulaire).

Jusqu'à présent, j'ai mis à jour mon urls.conf avec

url(r'^admin/app/targetclass/add/$', 'proj.app.views.myaddmethod', name = 'myaddmethod'), 

Cela fonctionne bien comme ma méthode « myaddmethod » est appelée. Cependant, comment puis-je savoir dans la méthode 'myaddmethod' l'instance particulière de SourceClass sur laquelle l'add a été appelé.

Ma question est, comment puis-je savoir dans ma nouvelle vue quelle instance de SourceClass a été utilisée? Je m'attends à voir cela dans les données POST, mais ce n'est pas là.

Répondre

0

C'est une méthode add. L'objet n'est pas encore créé. Importez votre modèle et passez le formulaire dans un nouveau modèle, puis donnez les données par courrier et enregistrez-les.

Questions connexes