首頁  >  問答  >  主體

python - flask_sqlalchemy 循环查询结果一样

使用flask_sqlalchemy 每隔5秒循环查询数据时,获取到的数据相同。

代码如下:

while True:
        task = TaskQueue.query.filter_by(status=0).order_by(TaskQueue.create_time.asc()).first()
        print(task)

        if task:
            pass
        else:
            time.sleep(5)
PHPzPHPz2765 天前670

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 09:17:53

    知道怎麼解決了,但不知道原因 只要在Task = None 的時候 加上一句 db.session.remove() 就行了~~

    回覆
    0
  • 高洛峰

    高洛峰2017-04-18 09:17:53

    沒用過flask_sqlalchemy,按照你的思路sql應該是這樣的, 按創建時間升序查找第一個status=0
    select * from taskqueue where status=0 order by create_time asc limit 0, 1

    理論上如果你資料表裡的status全是0的話,每次應該都會有數據
    出現問題的可能是你的orm這裡是沒有連到指定的庫,又或者first這個函數沒起到作用

    建議你先看看是不是能查到資料
    tasks = TaskQueue.query.filter_by(status=0)
    print len(tasks)

    判定是哪個環節出了問題

    回覆
    0
  • 取消回覆