gpt4 book ai didi

python - django.db.utils.InterfaceError : (0, '' )

转载 作者:行者123 更新时间:2023-11-29 03:17:20 29 4
gpt4 key购买 nike

我最近在我正在开发的工具中实现了 django。在做一些测试时,我遇到了 django.db.utils.InterfaceError: (0, '') 错误。我读到这可能是一个全局游标问题,但我只是通过 django 进行查询,让它处理游标。

基本上我有关于化合物的信息,我在工具执行的几个时刻将这些信息保存到 mySQL。

这段特定的代码将执行多次(到目前为止似乎工作正常),然后将在执行结束时执行最后一次(全局保存)。正是在这个全局保存中,我遇到了上述错误。此全局保存只是遍历所有收集的化合物并保存它们。

关于我可以做什么来解决这个错误有什么想法吗?

def save_to_SQL_db(self):
#####COMPOUND#####
if not self.sql_key:
cpd_django=Compound_db(cpd_level=self.get_cpd_level(),\
chemical_formula=self.get_Chemical_formula(),\
smiles=self.get_SMILES())
else:
cpd_django=Compound_db.objects.get(pk=self.sql_key)
cpd_django.cpd_level=self.get_cpd_level()
cpd_django.chemical_formula=self.get_Chemical_formula()
cpd_django.smiles=self.get_SMILES()
cpd_django.save()

错误:

Traceback (most recent call last): File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\mysql\base.py", line 71, in execute return self.cursor.execute(query, args) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py", line 170, in execute result = self._query(query) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py", line 328, in _query conn.query(q) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 515, in query self._execute_command(COMMAND.COM_QUERY, sql) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 745, in _execute_command raise err.InterfaceError("(0, '')") pymysql.err.InterfaceError: (0, '')

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "MyProject/Query.py", line 1900, in File "MyProject/Query.py", line 1803, in multiple_query File "MyProject/Query.py", line 1836, in single_query File "MyProject/Query.py", line 1563, in query_all_databases self.database_saving_all() File "MyProject/Query.py", line 243, in database_saving_all self.database_saving_mets() File "MyProject/Query.py", line 519, in database_saving_mets met.save_to_SQL_db() File "MyProject\Compound.py", line 829, in save_to_SQL_db else: File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py", line 393, in get num = len(clone) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py", line 250, in len self._fetch_all() File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py", line 1186, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\query.py", line 54, in iter results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\compiler.py", line 1065, in execute_sql cursor.execute(sql, params) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 100, in execute return super().execute(sql, params) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 68, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\mysql\base.py", line 71, in execute return self.cursor.execute(query, args) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py", line 170, in execute result = self._query(query) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\cursors.py", line 328, in _query conn.query(q) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 515, in query self._execute_command(COMMAND.COM_QUERY, sql) File "user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pymysql\connections.py", line 745, in _execute_command raise err.InterfaceError("(0, '')") django.db.utils.InterfaceError: (0, '')

最佳答案

我知道,这不是最佳答案,但对我来说尝试关闭连接 3 次,然后重新连接有效。

 try:
connections.close_all()
except:
try:
connections.close_all()
except:
try:
connections.close_all()
except:
pass

还尝试在 settings.py 中将 CONN_MAX_AGE 设置为 None,但这没有用。

关于python - django.db.utils.InterfaceError : (0, '' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53203757/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com