私はOOPを少し教えようとしています。私が作成した既存のpostgresqlデータベースに接続するクラスを作成しようとしています。oalを使用してpostgresqlに接続しようとしているSQLalchemy
私はクラスの形式でこれを複製する方法を把握しようとしているので、OOPする新たなんだ述べたように、私は、しかし、このコード
engine = create_engine('postgresql://[email protected]/dbname')
conn = engine.connect()
result = conn.execute(sql)
for row in result:
print(row)
を使用する場合、私はSQLAlchemyのを使用してデータベースの罰金に接続することができます。次のコードは、エラーAttributeError: 'NoneType' object has no attribute 'execute'
を示しています。私は多くのエラーやベストプラクティスがあると思っています。私はいくつかのガイダンスが欠けているので、ある種の指針は大いに感謝されます。
from sqlalchemy import create_engine
class dbConnect(object):
db_connection = None
db_cur = None
def __init__(self):
self.db_connection = create_engine('postgresql://[email protected]/dbname')
self.cur = self.db_connection.connect()
def query(self, query):
test = self.db_cur.execute(query)
return test
sql = """
SELECT
id
FROM
t
WHERE
id = 14070
"""
x = dbConnect()
result = x.query(sql)
for row in result:
print(row)
さて、あなたは 'db_cur = None'を割り当てましたが、その後はそれに対して '.execute(query)'を呼び出すことができます。 – univerio
それは簡単でした。あなたは正しいと今すぐ動作します。ありがとう。このタイプのものでベストプラクティスがあるかどうかを知りたいと思うでしょう。 – hselbie
このタイプのもののベストプラクティスはパターンと呼ばれます。そのため、ここでは "factory"または "singleton"を調べることができます。がんばろう! –