我按照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')),
])
但它仍然显示错误。
我该怎么办?
答案 0 :(得分:0)
你的Mysql_update类需要继承MySQLLoader,而不是bulkloader.Loader。