在使用ORM的时候出现的一个OverflowError的问题

ret2=Book.objects.get(id=1)的时候会报Python int too large to convert to C long的错误 但是使用 ret2=Book.objects.filter(name='高数').values("publish__name")的时候不会报错 这是为什么

评论 1

  • Traceback (most recent call last): File "F:\Anaconda\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "F:\Anaconda\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response response = self.process_exception_by_middleware(e, request) File "F:\Anaconda\lib\site-packages\django\core\handlers\base.py", line 124, in _get_response response = wrapped_callback(request, callback_args, callback_kwargs) File "F:\lesson1\blog\views.py", line 65, in chashu ret2=Book.objects.get(id=1) File "F:\Anaconda\lib\site-packages\django\db\models\manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, kwargs) File "F:\Anaconda\lib\site-packages\django\db\models\query.py", line 393, in get num = len(clone) File "F:\Anaconda\lib\site-packages\django\db\models\query.py", line 250, in len self._fetch_all() File "F:\Anaconda\lib\site-packages\django\db\models\query.py", line 1183, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "F:\Anaconda\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 "F:\Anaconda\lib\site-packages\django\db\models\sql\compiler.py", line 1061, in execute_sql cursor.execute(sql, params) File "F:\Anaconda\lib\site-packages\django\db\backends\utils.py", line 100, in execute return super().execute(sql, params) File "F:\Anaconda\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 "F:\Anaconda\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers return executor(sql, params, many, context) File "F:\Anaconda\lib\site-packages\django\db\backends\utils.py", line 85, in _execute return self.cursor.execute(sql, params) File "F:\Anaconda\lib\site-packages\django\db\backends\sqlite3\base.py", line 296, in execute return Database.Cursor.execute(self, query, params) File "F:\Anaconda\lib\sqlite3\dbapi2.py", line 64, in convert_date return datetime.date(map(int, val.split(b"-"))) OverflowError: Python int too large to convert to C long [2018-09-24 14:52:18,086] [ERROR] "GET /blog/chashu HTTP/1.1" 500 115267 [2018-09-24 14:52:18,426] [WARNING] Not Found: /favicon.ico [2018-09-24 14:52:18,427] [WARNING] "GET /favicon.ico HTTP/1.1" 404 2347

  • <p>报错是在File "F:\lesson1\blog\views.py", line 65, in chashu 检查一下,你查询的数据是不是有什么错误。</p>