遍历sqlalchemy ORM记录

时间:2019-02-13 13:17:32

标签: python sqlalchemy

我有一个用sqlalchemy创建的sqllite数据表,我想在PyQt5 tablewidget中表示。

my_data %>% 
  gather(key = "timeframe", value = "return", -moniker) %>% 
  mutate(timeframe = as_factor(timeframe)) %>% 
  ggplot(
    aes(
      x = timeframe, 
      y = return
    )
  ) + 
  geom_hline(yintercept = 0) + 
  geom_boxplot() + 
  geom_point_interactive(aes(tooltip = moniker), 
                         position = position_jitter(w = 0.15, h = 0))

此行中断

    def createTable(self, tableData):
      self.qTable = session.query(tableData).all()
      self.tableWidget = QTableWidget()
      self.tableWidget.setRowCount(0)
      self.tableWidget.setColumnCount(tableData.cols)
      self.tableWidget.setHorizontalHeaderLabels(tableData.col_headers)
      for row, form in enumerate(self.qTable):
        self.tableWidget.setRowCount(row+1)
           for col,record in enumerate(form):
                self.tableWidget.setItem(row, col, QTableWidgetItem(record))

有错误  “ TypeError:“测试”对象不可迭代”

ORM是使用此代码构建的

for col,record in enumerate(form):

有没有办法使它可迭代?或更整洁的处理方式?

1 个答案:

答案 0 :(得分:0)

感谢@SuperShoot,这对我来说效果很好,这是我使用的最终代码

s = 1;
g_Pl[s] = 5;

我添加了额外的逻辑,以便可以定义列顺序,