Bonjour,

Voici un extrait de mon models.py

class Auteur(models.Model):
    auteurNom = models.CharField('Nom', max_length=200)
    ....

class Livre(models.Model):
    auteur = models.ForeignKey('Auteur')
    titre = models.CharField('titre', max_length=200)
    ....

class Commentaire(models.Model):
    livre = models.ForeignKey('Livre')
    com = models.CharField('Commentaires', max_length=200)
    ....




Je fais le nécessaire pour accéder à une page dont l'URL pour être : 
localhost:8000/auteur/1/ pour le premier auteur de ma BDD.
Je souhaite y ajouter un formulaire afin de créer un commentaire sur un livre 
de l'auteur.

J'ai donc commencé par créer un ModelForm comme suit :
class FormCom(ModelForm):
    class Meta:
        model = Commentaire
        fields = ['livre', 'com']


Je peux donc ainsi avoir sur ma page web un combobox avec les livres entrés 
dans ma BDD et une zone me permettant de faire un commentaire.
Le souci est que là j'ai TOUS les livres de ma BDD, alors que moi j'aimerai 
n'avoir évidemment que ceux de l'auteur dont l'id est 1.

Donc lorsque je charge ma page depuis views.py j'aimerai pouvoir exclure les 
livres qui ne sont pas de l'auteur choisi, c'est à dire en gros un truc du 
genre :

def com(request, auteur):
        
        formCom = FormCom(avec_uniquement_livre_de_auteur)
        
        ....

        return render(request, 'business/record.html',{'com':formCom,
                                                                                
  ....}
                              )


J'espère avoir été assez clair.
Est-ce possible ?

Si ce n'est pas le cas je vais devoir faire un truc du genre :

Livre.objects.filter(auteur = auteur)

et dans mon formulaire web ajouter manuellement un combobox ...  un peu galère 
:)

D'avance merci à tous.


Charlie
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à