Outils pour utilisateurs

Outils du site


dev:python:flask:flask-sqlalchemy:relation_one-to-many

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

dev:python:flask:flask-sqlalchemy:relation_one-to-many [2024/12/07 13:37] – créée yoanndev:python:flask:flask-sqlalchemy:relation_one-to-many [2024/12/07 13:57] (Version actuelle) yoann
Ligne 20: Ligne 20:
 Ci-dessous l'application Flask minimaliste implémentant les deux classes du modèle et la relation one-to-many. Ci-dessous l'application Flask minimaliste implémentant les deux classes du modèle et la relation one-to-many.
  
-<code python app.py>+<code python app.py [enable_line_numbers=“true”]>
 from flask import Flask from flask import Flask
 from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
Ligne 69: Ligne 69:
 </code> </code>
  
 +:TODO_DOCUPDATE:
  
-===== Test et utlisation =====+  * Lignes 7 et 27 : les classes doivent hériter de db.Model pour que les objets puissent être enrgistrés dans la bbase de données; 
 +  * Pour chaque attribut on définit sous quelle forme il sera stocké dans la base; 
 + 
 +La relation one-to-many 
 + 
 +==== L'option lazy="dynamic" de la méthode db.relationship ==== 
 + 
 +A la ligne 12, on peut voir que l'option **''lazy="dynamic"''** est utilisée pour définir la relation. 
 +  
 +Lorsque cette option est utilisée, l'attribut ''Shop.products'' **ne retourne plus directement la liste complète** de tous les produits désignés par la relation. Au lieu de cela, ''Shop.products'' retourne un objet de type requête : cela permet notamment de **définir des critères de sélection**. 
 + 
 + 
 +===== Test et utilisation =====
  
 Pour tester l'implémentation, on peut lancer l'application flask en mode interactif : Pour tester l'implémentation, on peut lancer l'application flask en mode interactif :
dev/python/flask/flask-sqlalchemy/relation_one-to-many.1733578678.txt.gz · Dernière modification : 2024/12/07 13:37 de yoann