0
我試圖創建一個過濾器管理器來結束過濾呼叫在SQLAlchemy的應用程序。但是,過濾管理器沒有返回任何值。而且,它甚至不會運行SQL語句。我的會話如何聲明有問題嗎?SQLAlchemy的過濾管理器不返回任何值
class FilterManager():
def __init__(self):
self.page = 1
self.pageLength = 5
Logger.info('Filter: Filter Manager Created')
def SimpleFilter(self):
limit = self.pageLength
offset = ((self.page - 1) * self.pageLength) + 1
session = Session()
return session.query(KeyAction).order_by(KeyAction.id)[limit:offset]
session.close()
然後,我添加了關鍵作用,其成功:
session = Session()
ka = KeyAction(name='Key Action 1', description = 'Test', custom = False)
session.add(ka)
session.commit()
session.close()
我的單元測試都無法在同一個斷言:
results = filter.SimpleFilter()
self.assertEquals(len(results), 1)
話說結果的長度爲0,不是1
我也試過在宣佈全球範圍內單個會話,但有同樣的問題。任何幫助將非常感激!
亞歷
------------------編輯------------------
基於下面的第一個答案,我做了以下更新:
def SimpleFilter(self):
limit = ((self.page - 1) * self.pageLength)
offset = self.pageLength + ((self.page - 1) * self.pageLength)
session = Session()
results = session.query(KeyAction).order_by(KeyAction.id)[limit:offset]
session.close()
return results
現在返回基於什麼承諾之前時間的腳本運行的結果(0結果返回的第一時間,3返回第二個時間,之後每次返回5個)
快速提示,在會話工廠聲明之後,我確實將會話聲明移動到了正確的位置,如示例here所示。
爲什麼我不能看在這個環節中寫入DB數據?
我試過這樣做,並得到了上述錯誤。另外,我在終端輸出中看不到任何查詢。我不認爲它曾經查詢過數據庫。 –
請始終添加完整的錯誤追溯! –
我的不好,我瘋了一個錯字。 ','→':' –