2009-02-18 6 views
0

J'ai besoin de récupérer le nom de l'institution en passant par une table intermédiaire. Ma vue obtient toutes les valeurs à l'exception de celle-ci ou du moins elle ne s'affiche pas dans le modèle. Quelqu'un peut-il m'aider à réviser ma vision ou mon modèle?Récupérer une variable de la table intermed

http://dpaste.com/122204/

Merci,

mai

+0

Vous devez inclure votre modèle ainsi que votre vue et votre modèle. –

+0

Et, je pense que vous devez inclure votre appel render_to_response dans la vue - il n'est pas évident quels objets sont utilisés pour créer le contexte du modèle. –

+0

Le modèle est ici: http://dpaste.com/122224/ –

Répondre

0

Pour déboguer ce genre de problèmes procédez comme suit.

Exécutez le traitement de la fonction d'affichage séparément de tout modèle ou de toute autre partie de Django.

De manière interactive ou avec un script TRÈS simple, exécutez votre requête. Par exemple, utilisez un script simple comme celui-ci pour explorer votre modèle et vous assurer que votre modèle fonctionne vraiment.

from app.models import Contact, Institution, Whatever 
results= Researchproject.objects.filter(restitlestrip__icontains='something').distinct() 
for project in results: 
    print project.contact 
    print contact.institutionname 

Notez plusieurs choses à propos de votre script simple et de votre modèle.

  1. Cas important. Projet! = Projet.

  2. La navigation compte. Dans le script ci-dessus, contact est indéfini. project.contact, cependant, est défini. Peut-être que c'est ce que vous vouliez dire.

Votre modèle semble incomplet. La table Contactintermed ne semble pas être utilisée dans votre requête ou vue. Il peut avoir FK à d'autres tables, mais vous ne semblez pas avoir une navigation raisonnable de Projet à Contact à Contactinterma à Institution.

Obtenez votre modèle pour être correct dans un script autonome. Ajouter le traitement de modèle plus tard.


De même, veuillez poster tout le code ici sur StackOverflow. Chasing votre code sur Internet est une énorme douleur. Il est beaucoup plus facile d'ignorer simplement votre question que de chasser votre code.

Questions connexes