我有一個tornado.websocket.WebSocketHandler的子類。在那個類中,我有一個方法使用Django ORM從一個模型中獲取用戶,該模型的子類爲:django.contrib.auth.models.AbstractUser。 ,抓住用戶的代碼如下:在Tornado應用程序中使用Django - 無法訪問Tornado應用程序啓動後創建的MySQL記錄
user_model = get_user_model()
try:
user = user_model.objects.get(pk=user_id)
return user
except user_model.DoesNotExist:
return None
注:這工作絕對沒問題,如果對應USER_ID用戶在數據庫中的龍捲風腳本開始之前。
但是,如果在腳本啓動後創建新用戶,上面的代碼始終返回None。就好像該腳本只能在腳本啓動時訪問數據庫的快照。我甚至嘗試運行一個原始的SQL查詢與完全相同的結果:
cursor = connection.cursor()
cursor.execute("SELECT * FROM custom_user_table WHERE id = %s", [node_id])
row = cursor.fetchone()
沒有運氣。
其實,經過一番瑣事之後,所需要的只是添加: – Corky