Bonjour à tous.
Je suis développeur de métier, je bosse sur du php essentiellement. J’ai envie d’apprendre le python et du coup je me suis lancé dans un petit projet perso avec django. Rien de bien compliqué et j’arrive à faire un truc qui fonctionne mais j’aimerai votre avis sur les "bonnes pratique" à adopter.
J’ai l’habitude en php d’utiliser la fonction print_r() pour afficher à l’écran le contenu d’un tableau, d’un objet etc. Comment je fais ça avec django si je veux afficher le contenu d’un dictionnaire par exemple avant de la passer à une vue?
Seconde question. J’ai 3 classes liés entre elle par des clés étrangères :
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Festival(models.Model): dateDebut = models.DateTimeField() dateFin = models.DateTimeField() class Evenement(models.Model): jour = models.DateTimeField() festival = models.ForeignKey(Plan, on_delete=models.CASCADE) class Activite(models.Model): duree = models.DurationField() Evenement = models.ForeignKey(Entrainement, on_delete=models.CASCADE) ` |
(J’ai enlevé tous les attributs de mes modèles, ils ne sont pas important pour ma question.) Un festival contient plusieurs jour d’événement et pour chaque événement on a plusieurs activité. Je veux afficher toutes les infos d’un festival donnée. J’y arrive mais ça ne me semble pas optimale.
Pour cela je récupère le festival en faisant un get avec l’id que je veux. Puis je récupère tous les événements lié à ce festival en utilisant un filter. (Evenement.objects.filter()) Et pour chaque événement je fais une requête avec un filter pour récupérer les activités. Il y a sûrement qque chose que j’ai pas identifié dans les possibilités de django pour faire ça de façon plus simple non? Ca me semble fou de faire autant de requête alors que l’on devrait pouvoir tout récupérer en une seule. Non? J’ai bien identifié le select_related mais je ne vois pas comment l’utilisé ici puisque mon filtre se fait sur le festival et non sur l’activité.
Merci d’avance
Bonne journée