2009-09-03 6 views
1

il ya quelque chose que je voudrais faire.Django admin, inline peupler

i ont 4 classes:

class delivery(models.Model):   
     name= models.CharField(max_length=100) 
     date_join= models.DateField() 
     .... 

class Town(models.Model): 
     delivery_guy = models.ForeignKey(delivery) 
     name = models.CharField(max_length=100) 
     .... 

class message(models.Model): 
     title= models.CharField(max_length=100) 
     notes = models.CharField(max_length=200) 
     date= models.DateField() 
     .... 

class childs_of_message(models.Model): 
     message =models.ForeignKey(message) 
     delivery_guy = models.ForeignKey(delivery) 
     direction = models.ForeignKey(delivery) 
     people_name= models.CharField(max_length=100) 
     date= models.DateField() 
     .... 

Je ne sais pas comment dire mal, mon anglais est pauvre, la ville un delivery_guy, le message a une ville et Childs_of_message un message et une livraison . Dans le mode Inlines im message Message comme "parent" et Childs_of_message comme "child-inlines-", dans mes childs_of_message, je voudrais dans le select de delivery_guys afficher le livreur par défaut de la ville (si la ville a un livraison montrer que les mauvais cette livraison choisie sous la forme SELECT en mode en ligne childs_of_message)

ou

comment mal faire et ModelChoiceField (queryset ....) sous ma forme en ligne d'administration?

Merci :)

+0

je pense que cela va résoudre mon problème ... http://www.artfulcode.net/articles/runtime-choicefield-filtering-in-djangos-admin/ – Asinox

+0

Tentative @ traduction de l'autre marque avec mes GR11 limitées français : Je suis regardé votre problème à la page à [lien]. Je suis d'accord que le problème de la solution pour vous .... (?????) s'il vous plaît, (est-ce que laissez lire ou quoi? Ou peut-être envoyer?) ... envoyez-moi la ... fonction? – mpen

+1

@Mark: "J'ai lu votre problème et la page artfulcode.net Je suis d'accord pour dire que c'est probablement la solution pour vous, merci de me faire savoir si cela fonctionne." – akaihola

Répondre

0

depuis l'interface d'administration dans django est uniquement pour les utilisateurs de confiance que je ne suis pas sûr que vous êtes en mesure de changer le queryset d'un modelchoicefield. ça va toujours montrer tous les objets du modèle qui s'appliquent. Ce que vous voulez faire est de construire votre propre interface avec un formulaire django. Vous pouvez ensuite utiliser initial pour les champs de formulaire en fonction d'autres informations que vous avez lorsque le formulaire est initialisé.

+0

Je suis sûr à 98% que vous pouvez * changer * le jeu de requête. Vous pouvez créer un formulaire d'administration à utiliser à la place, ce qui vous donne un contrôle total ... – mpen

Questions connexes