我的代码中有以下模式:
cursor.execute("INSERT INTO main_catalog (1,'mark')")
conn.commit()
item = Catalog.objects.get(pk=1)
item.do_something()
但是,即使在数据库中可以看到它,我仍然收到一个错误,说
Catalog.DoesNotExist
for id = 1。如何让ORM识别此新值,以便随后查询它? (请注意,出于某些原因,我必须使用原始sql。) 最佳答案
以下模式可用于重置连接并获得“新鲜光标”:
from django import db
try:
item = Catalog.objects.get(pk=1)
except Catalog.DoesNotExist:
db.close_connection()
item = Catalog.objects.get(pk=1)
这个问题也可能有用:Django multiprocessing and database connections。
关于python - 在SQL中插入时如何刷新Django连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30385570/