向数据库中添加REST资源.难以遍历枚举列表并提交更改



我正试图从一个API中提取数据,该API以JSON格式返回数据。我在python脚本中使用SQLalchemy和simplejson来实现这一点。数据库为PostgreSQL

我有一个叫做Harvest的类,它指定了表Harvest的细节。

这是我怀疑是不正确的代码。

def过程(自我):

            req = urllib2.Request('https://api.fulcrumapp.com/api/v2/records/', headers={"X-ApiToken":"****************************"})
            resp = urllib2.urlopen(req)
            data = simplejson.load(resp)
            for i, m in enumerate(data['harvest']):
                    harvest = Harvest(m)
                    self.session.add(harvest)
                    self.session.commit()

这个循环有问题吗?没有东西进入数据库。

我怀疑如果循环有什么问题的话,那就是循环被跳过了。您可以这样验证:

ALTER USER application_user SET log_statements='all';

语句将显示在您的日志中。完成后:

ALTER USER application_user RESET log_statements;

话虽如此,我在你的代码中看到的一件可能会引起麻烦的事情是,你是每行提交的。这将导致额外的磁盘I/O。您可能希望在循环之后提交。