クエリが正常に機能する次のコードがあります。
###initilize Objects
self.dbObj = DbAbsLayer()
self.tableObj = MaterialsTable(dict())
####making queries, one for count row, another for result row
query = self.dbObj.session.query(MaterialsTable)
rowCounter = self.dbObj.session.query(MaterialsTable)
for attr , val in tmpDict.items():
query = query.filter(getattr(MaterialsTable,attr).like("%%%s%%" % val)).all()
rowCounter = rowCounter.filter(getattr(MaterialsTable,attr).like("%%%s%%" % val)).count()
##### commit my queries
self.dbObj.session.commit()
####setting up my QtableWidget
searchFrameObject.tableWidget.setRowCount(rowCounter)
searchFrameObject.tableWidget.setColumnCount(5)
######inserting into QtableWidget
for row in range(rowCounter):
for result in query:
item = QtGui.QTableWidgetItem(_fromUtf8(result.name))
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
searchFrameObject.tableWidget.setItem(row,0,item)
item = QtGui.QTableWidgetItem(_fromUtf8(integerToPersian(result.bought_price)))
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
searchFrameObject.tableWidget.setItem(row,1,item)
item = QtGui.QTableWidgetItem("date")#result.bought_date)
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
searchFrameObject.tableWidget.setItem(row,2,item)
item = QtGui.QTableWidgetItem(_fromUtf8(integerToPersian(result.stock)))
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
searchFrameObject.tableWidget.setItem(row,3,item)
print result.stock
print integerToPersian(result.stock)
item = QtGui.QTableWidgetItem(_fromUtf8(integerToPersian(result.minimum_bound)))
item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEnabled)
searchFrameObject.tableWidget.setItem(row,4,item)
print result.minimum_bound
私のループではprint result.stock
、result.minimum.bound
私はDBにあるすべてを見ることができますがPHPMyAdmin
、に追加するとQTableWidget
、追加された最後の結果が表示されます。
私の質問は、すべての結果を に追加するにはどうすればよいQTableWidget
ですか?