IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaçage autre langage Python Discussion :

chercher des données entre python, SQL Alchemy et flask [Python 3.X]


Sujet :

Interfaçage autre langage Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut chercher des données entre python, SQL Alchemy et flask
    Bonjour,

    Je développe une application Flask et j'ai un problème pour accéder à ma base de donné.
    Je sais bien lire et écrire dessus, mais je voudrais un système automatique je m'explique.

    Actuellement quand j'exécute ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Database # ma base de donner 
     
    data = Database.query.get(2) # j'ai bien ma donner avec l'id 2 
     
    data.id # me donne bien l'id
    Là pour le moment il n'y a pas de problème ça marche nickel.

    Mais je voudrais un système plus dynamique du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Database # ma base de donner 
     
    data = Database.query.get(2) # j'ai bien ma donner avec l'id 2 
     
    m_key = id
     
    data.m_key #erreur
    C'est normal que j'ai une erreur, mais comment je peux associer m_key a id, je veux éviter de faire data.nom_colonne. Il y a une méthode pour trouver/modifier sans donner le nom de la colonne un peu comme j'ai fait avec m_key.


    Pouvez-vous m'aider ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 869
    Points : 30 866
    Points
    30 866
    Par défaut
    Salut,

    m_key est une variable vous pouvez juste lui associer un objet comme data.id (m_key = data.id).

    Il y a une méthode pour trouver/modifier sans donner le nom de la colonne un peu comme j'ai fait avec m_key.
    L'avantage du nom d'un attribut est que vous le connaissez à l'avance. C'est ce qui fait qu'on peut "programmer"...
    Maintenant vous cherchez peut être quelque chose comme getattr(data, "id") voire une association (dictionnaire) qui lie "m_key" à "id" pour faire:
    getattr(data, dico.get('m_key')).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut,

    Oui, mon application es susceptible de changer tous mes datas du coup je ne veux pas forcement écrire tous mes attributs ligne par ligne.

    Ta fonction est super pratique, elle va m'aider grandement.

    Il y a un moyen pour écrire ceci ?

    Avec getattr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getattr(data, "id") = "741"
    Me donne un msg d'erreur ce qui est normal, mais il y a un moyen pour réaliser?
    oui le id ne peut pas être modifier mais c'est pour l'exemple

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 869
    Points : 30 866
    Points
    30 866
    Par défaut
    Citation Envoyé par sulti Voir le message
    Me donne un msg d'erreur ce qui est normal, mais il y a un moyen pour réaliser?
    oui le id ne peut pas être modifier mais c'est pour l'exemple
    Vous n'êtes pas supposé modifier les données qui sortent de la BDD!
    Mais le pendant de getattr est setattr.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    mars 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Génial merci beaucoup

    je retiens qu'il faut modifier le moins possible une BDD.

    Merci beaucoup pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD19] transfert des données entre HFSQl et base SQL
    Par niuniuk36 dans le forum WinDev
    Réponses: 5
    Dernier message: 02/10/2015, 17h53
  2. Réponses: 1
    Dernier message: 06/07/2008, 22h19
  3. Réponses: 3
    Dernier message: 20/01/2005, 19h19
  4. chercher des données dans sa propre requete...
    Par shadowbob dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/06/2004, 17h13
  5. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo