0

データベース内のテーブルからすべてのレコードを取得する正しい方法は何ですか?

私の考えは次のとおりです。

import MySQLdb

Class User:

    def __init__(self, id):    
        self.db = MySQLdb.connect(host="localhost", user="root",passwd="password",db="database")
        self.cur = self.db.cursor()

        self.id = id

        self.cur.execute("SELECT * FROM `user` WHERE `id` = %s;", (id))
        res = self.cur.fetchone()

        self.firstName = res[1]
        self.lastName = res[2]
        self.email = res[2]

Class UserManager:
    def __init__(self):
        self.db = MySQLdb.connect(host="localhost", user="root",passwd="password",db="database")
        self.cur = self.db.cursor()

    def get_all_users(self):
        self.cur.execute("SELECT `id` FROM `user`;")
        rows = self.cur.fetchall()

        users = []
        for row in rows:
            users.append(User(row[0]))
        return users

もっと良い方法があると確信していますか?どのようにユーザーを作成しますか?

4

1 に答える 1

2

これを自分で書こうとしないでください。SqlAlchemy、SqlObject、Django などの既存の ORM を使用します。

于 2013-03-29T16:23:08.420 に答える