1

私は次のクラスを持っています:

class SomeClass:
    def __init__(self, name, date):
        self.name = name
        self.date = date

これで、別のモジュールに関数があり、SQLiteデータベースに接続してクエリを実行します。

def getEntry(user):
    data = []
    connection = lite.connect(database)                                                                 
    with connection:                                                                 
        cur = connection.cursor()                                                    
        cur.execute("SELECT name, date FROM table WHERE column = ?", [user])
        events = cur.fetchall()                                                      
        # instantiate an instance of `SomeClass`
        return data

では、どのようにしてインスタンスを作成し、新しく作成したインスタンスにエントリを渡すSomeClassのでしょうか。namedate

4

1 に答える 1

3

行のリストが返されるのでfetchall()、これを実行できるはずです(これは、複数の結果が返される場合もカバーする必要があります)。

for result in events:
    my_instance = SomeClass(result[0], result[1])
    # Do whatever you want to do with the instances, which looks like
    # it may be appending to data
    data.append(my_instance) # Or data.append(SomeClass(result[0], result[1]))

現在テストできないので、かなり離れている場合はお詫びします:)

于 2012-11-12T03:11:49.690 に答える