在使用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。

希望这可以帮助!包装器问题有时很难调试!

09-10 07:29
查看更多