在使用Django和Django REST Framework编写REST API的代码时,突然出现以下错误:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x1032bc1e0>
Traceback (most recent call last):
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
autoreload.raise_last_exception()
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
six.reraise(*_exception)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/apps/config.py", line 199, in import_models
self.models_module = import_module(models_module_name)
File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
File "/Users/alexarias/PycharmProjects/ContratRestAPI/employees/models.py", line 1, in <module>
from django.contrib.auth.admin import User
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/contrib/auth/admin.py", line 7, in <module>
from django.contrib.auth.forms import (
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/contrib/auth/forms.py", line 120, in <module>
class UserChangeForm(forms.ModelForm):
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/forms/models.py", line 247, in __new__
opts.field_classes)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/forms/models.py", line 166, in fields_for_model
formfield = f.formfield(**kwargs)
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/db/models/fields/related.py", line 1579, in formfield
'queryset': self.remote_field.model._default_manager.using(db),
File "/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset, name)(*args, **kwargs)
AttributeError: 'function' object has no attribute 'using'
我尝试取消注释所有刚完成编写且无法解析的代码。检查格式字符是否为奇数,无字符...错误几乎是自发出现的。现在没有运行的代码。
最佳答案
在以下情况下会发生这种情况:
您为GenericAPIView类错误地定义了方法覆盖
然后PyCharm建议将方法转换为属性
您批准,PyCharm将方法转换为属性
不完全确定会发生什么,但是PyCharm会修改Django软件包文件。即使删除@property装饰器,问题仍然存在。
如果立即(在关闭IDE之前)捕获到该错误,则可以按ctrl + z撤消更改,这将解决问题。
如果您已经关闭IDE,或者无法按ctrl + z撤消更改,则解决方案是卸载并重新安装Django。
希望这可以帮助!包装器问题有时很难调试!