我正在使用未從HTTP請求調用的進程中的Django數據庫模型。該過程應該每隔幾秒鐘輪詢一次新數據并對其進行一些處理。我有一個循環,它休眠了幾秒鐘,然后從數據庫中獲取所有未處理的數據。我看到的是,在第一次獲取之后,該進程再也看不到任何新數據。我進行了一些測試,盡管每次都在構建新的QuerySet,但看起來Django正在緩存結果。為了驗證這一點,我從Python shell做到了這一點:>>> MyModel.objects.count()885# (Here I added some more data from another process.)>>> MyModel.objects.count()885>>> MyModel.objects.update()0>>> MyModel.objects.count()1025如您所見,添加新數據不會更改結果計數。但是,調用管理器的update()方法似乎可以解決此問題。我找不到關于該update()方法的任何文檔,也不知道它可能還會做其他什么壞事。我的問題是,為什么我會看到這種緩存行為,這與Django文檔所說的相反?以及如何防止它發生?
添加回答
舉報
0/150
提交
取消