如何从MySQL更新数据到gae localhost服务器?

时间:2010-06-19 08:36:33

标签: python mysql google-app-engine

我按照this文章从MySQL更新数据到gae localhost服务器。

这是我的str_loader.py

class College(db.Model):
    cid = db.StringProperty(required=True)
    name = db.StringProperty(required=True)

class MySQLLoader(bulkloader.Loader):
    def generate_records(self, filename):
        """Generates records from a MySQL database."""
        conn = MySQLdb.connect(host='localhost',user='root',passwd='root',db='test',charset="utf8")
        cursor = conn.cursor()
        sql ="select * from haha"
        cursor.execute(sql)
        #alldata = cursor.fetchall()
        return iter(cursor.fetchone, None)

class Mysql_update(bulkloader.Loader):
    def __init__(self):
        MySQLLoader.__init__(self,'College',
                                   [
                                    ('cid', str),
                                    ('name', lambda x: unicode(x, 'utf8')),
                                   ])
                                   ])

loaders = [Mysql_update]

我使用此代码运行:

appcfg.py upload_data --application=zjm1126 --config_file=upload/str_loader.py --filename=b.csv --kind=College --url=http://localhost:8100/remote_api

但是,它显示错误。

所以我改变了str_loader.py:

class Mysql_update(bulkloader.Loader):
    def __init__(self):
        MySQLLoader('College',
                                   [
                                    ('cid', str),
                                    ('name', lambda x: unicode(x, 'utf8')),
                                   ])

但它仍然显示错误。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

你的Mysql_update类需要继承MySQLLoader,而不是bulkloader.Loader。

相关问题