我有一个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