[PYTHON] Obtenez la table dynamiquement avec sqlalchemy

Obtenez la table dynamiquement avec sqlalchemy

La version que j'ai essayée.

In [1]: import sqlalchemy

In [2]: sqlalchemy.__version__
Out[2]: '1.0.5'

Si vous passez des métadonnées ou un moteur à sqlalchemy.Table (), vous pouvez obtenir l'objet Table qui peut être passé à la session tel quel.

Faites un dict de {<nom de la table>: sqlalchemy.Table} et placez-le dans une large zone du module.

dbs.py


# -*- coding: utf-8 -*-

import sqlalchemy
import sqlalchemy.ext.declarative
Base = sqlalchemy.ext.declarative.declarative_base()

url = 'mysql://[email protected]/employees?charset=utf8'

engine = sqlalchemy.create_engine(url, echo=False)
tables = { name: sqlalchemy.Table(name, Base.metadata, autoload=True, autoload_with=engine)
        for name in engine.table_names()
    }

globals().update(tables)

Session = sqlalchemy.orm.sessionmaker(bind=engine)
session = Session()

ʻEmployees` Récupère tous les enregistrements de la table. (Mon exemple mysql)

select.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import dbs

for x in dbs.session.query(dbs.employees):
    print x

Je me demande si c'est si dynamique

TODO: Vous voudrez peut-être l'exporter sous la forme d'une classe statique.

Vous pouvez dynamiquement lécher la table et la recracher comme ça.

Une telle forme


class Student(Base):
    __tablename__ = 'students'

    id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
    name = sqlalchemy.Column(sqlalchemy.String(255))
    kana = sqlalchemy.Column(sqlalchemy.String(255))

    def __repr__(self):
        return '<name=%s, kana=%s>' % (self.name, self.kana)

Recommended Posts

Obtenez la table dynamiquement avec sqlalchemy
Comment obtenir l'identifiant du parent avec sqlalchemy
Définition de table dans SQL Alchemy
Démarrez avec MicroPython
Recevez des tweets avec Tweepy
Obtenez date avec python
Démarrez avec Mezzanine
Utiliser Enum avec SQLAlchemy
Conseils de définition de table sqlalchemy
Comment lire les définitions de table générées dynamiquement à l'aide de SQL Alchemy
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Obtenez le code du pays avec python
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Obtenez la chronologie Twitter avec Python
Créer / rechercher / créer une table avec PynamoDB
Commencez avec influxDB + Grafana
Utiliser DATE_FORMAT avec le filtre SQLAlchemy
Obtenez des données Youtube avec python
Obtenir des informations avec l'API Zabbix
Lancez-vous avec Django! ~ Tutoriel ④ ~
Introduction à RDB avec sqlalchemy Ⅰ
Comment mettre à jour avec SQLAlchemy?
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Obtenir l'ID de thread avec python
Comment modifier avec SQLAlchemy?
Commencez avec Python! ~ ② Grammaire ~
Obtenez des fonctionnalités d'image avec OpenCV
Group_by avec sqlalchemy et sum
Obtenez des stocks avec Python
Prise en charge de plusieurs sessions avec SQL Alchemy
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Grattage de table avec belle soupe
Comment supprimer avec SQLAlchemy?
Obtenez des informations sur l'alambic avec Python
Obtenez un classement avec l'API Rakuten
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Une note à laquelle j'étais accro lors de la création d'une table avec SQL Alchemy
Obtenez des informations sur les fichiers vidéo avec ffmpeg-python
Utilisation de la base de données SQL d'Azure avec SQL Alchemy
Commencez avec Python! ~ ① Construction de l'environnement ~
Lien pour commencer avec python
Connectez-vous à plusieurs bases de données avec SQL Alchemy
Obtenez un temps de réaction négatif avec psychopy.event.getKeys ()
Génération de requêtes plus rapide avec SQLAlchemy ORM
Obtenez des avis avec l'API googlemap de python
Obtenez l'ID de compte AWS avec boto3
Premiers pas avec MicroPython (sur macOS)
Obtenez la météo avec les requêtes Python
Obtenez une capture d'écran Web avec python
Obtenez la météo avec les requêtes Python 2
Obtenir une colonne de DataFrame avec DataFrame
[Python] Obtenez des données économiques avec DataReader
Combiner l'héritage polymorphe et plusieurs-à-plusieurs avec SQLAlchemy
Introduction à RDB avec sqlalchemy II
Comment démarrer avec Scrapy
Comment démarrer avec Python
Traitement des insertions de table DB à l'aide de sqlalchemy