2016-12-01 3 views
0

私は割り当てのためにデータベースとプログラミングを結びつけなければなりません。私はコードの考え方を持っていますが、私がmySQLで作成したテーブルをPythonのクラスまたはオブジェクトとして使用できることを確認する必要があります。PythonでSQLテーブルをクラスまたはオブジェクトとして使用する方法はありますか?

例:SQLを使用して、特定の住所と郵便番号を持つ家屋のデータベースを作成します。クライアントはzipcode xに住んでいると言います。私のプログラムはデータベースを解析し、zipcode x内のすべてのアドレスを返すべきです。そして理想的には、クライアントの結果を使ってSQLでテーブルを作成します。

正確な割り当てではありませんが、基本的なアイデアが得られます。

+0

:DBを使用して

from sqlalchemy import Column, String, Integer, Sequence from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker create_session = sessionmaker() Base = declarative_base() person_autoincr_seq = Sequence('person_autoincr_seq') class Person(Base): __tablename__ = "person" id = Column( Integer, person_autoincr_seq, server_default=person_autoincr_seq.next_value(), nullable = False, primary_key = True ) name = Column( String, nullable = False ) def __init__(self, name,id=None): if id is not None: self.id = id self.name = name 

?表の列と同じプロパティを持つクラスを作成します。これらの値に基づいてクエリを実行します。 –

+0

2番目の考えでは、私は[SQLAlchemy](http://www.sqlalchemy.org/)のようなORMを探していると思います –

答えて

1

あなたはORMを探しています。 SQLAlchemyを参照してください。例:あなたはそれを達成するためにブロックしている何

import logging as log 
from contextlib import closing 


engine = sqlalchemy.engine.create_engine(
    "postgresql://testuser:[email protected]:5432/testdb" 
) 

create_session.configure(bind=engine) 

try: 
    with closing(create_session()) as db_session: 
     name = db_session.query(Person.name).filter_by(id=5).one()[0] 
except Exception: 
    log.exception("Something wrong while querying db") 
+0

代替のpython ormソリューションのリスト:https://www.fullstackpython.com/object- relational-mappers-orms.html –

関連する問題