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