私はこのようにpsycopg2を継承しようとしています:
import psycopg2
class myp(psycopg):
pass
ii = myp
ii.connect(database = "myDataBase", user = "myUser", password="myPassword")
次に、エラーがスローされます。
class myp(psycopg2._psycopg):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
psycopg2 ライブラリから継承することは可能ですか?
編集:別のデータベースを使用したいので、クラス MyDatabase を変更するだけです。包み紙のようなもの。例:
import psycopg2
class MyDatabase(psycopg2):
def connect(self):
#do some stuff
return psycopg2.connect(database = "myDataBase", user = "myUser", password="myPassword")
mysqldb インポート MySQLdb の場合
class MyDatabase(MySQLdb)
def connect(self):
#do some stuff
return psycopg2.connect(database = "myDataBase", user = "myUser", password="myPassword")
派生クラス class MyDataBaseApp(MyDatabase): def add(self, myObjectClass): db = MyDatabase() cn = None
try:
cn = db.connect()
cur = cn.cursor()
cur.execute ("INSERT ...",(myObjectClass.parameter1, myObjectClass.parameter2))
cn.commit()
except MyDatabase.DatabaseError, e:
print e
if cn:
cn.rollback()
finally:
if cn:
cn.close()
しかし、ドキュメントによると、別の方法で行う必要があります。提案はありますか?