Python 使用PyCharm时出现Django错误:"';功能';对象没有属性';使用'&引用;

Python 使用PyCharm时出现Django错误:"';功能';对象没有属性';使用'&引用;,python,django,django-rest-framework,pycharm,static-methods,Python,Django,Django Rest Framework,Pycharm,Static Methods,在使用Django和Django REST框架编写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

在使用Django和Django REST框架编写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'
由启动的线程中未处理的异常 回溯(最近一次呼叫最后一次): 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/utils/autoreload.py”,第226行,在包装器中 fn(*args,**kwargs) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/core/management/commands/runserver.py”,第113行,内部运行 autoreload.raise\u last\u异常() 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/utils/autoreload.py”,第249行,在raise\u last\u异常中 六、重放(*_例外) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/utils/six.py”,第685行,以reraise显示 通过_回溯(tb)提升值 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/utils/autoreload.py”,第226行,在包装器中 fn(*args,**kwargs) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/_init_uuuuuuuu.py”,第27行,在设置中 应用程序。填充(设置。已安装的应用程序) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/apps/registry.py”,第108行,填充 app_config.import_models(所有_models) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/apps/config.py”,第199行,在导入模型中 self.models\u module=导入模块(models\u module\u name) 文件“/usr/local/ceral/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/________.py”,第126行,在导入模块中 return _bootstrap._gcd_import(名称[级别:],包,级别) 文件“”,第978行,在_gcd_import中 文件“”,第961行,在“查找”和“加载”中 文件“”,第950行,在“查找”和“加载”中解锁 文件“”,第655行,已加载 exec_模块中第678行的文件“” 文件“”,第205行,在调用中删除了帧 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/employees/models.py”,第1行,在 从django.contrib.auth.admin导入用户 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/contrib/auth/admin.py”,第7行,在 从django.contrib.auth.forms导入( 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/contrib/auth/forms.py”,第120行,在 类UserChangeForm(forms.ModelForm): 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/forms/models.py”,第247行,新__ 选项字段(U类) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/forms/models.py”,第166行,在模型的字段中 formfield=f.formfield(**kwargs) 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/db/models/fields/related.py”,第1579行,格式字段 'queryset':self.remote\u field.model.\u default\u manager.using(db), 文件“/Users/alexarias/PycharmProjects/ContratRestAPI/venv/lib/python3.6/site packages/django/db/models/manager.py”,第85行,在manager_方法中 返回getattr(self.get_queryset,name)(*args,**kwargs) AttributeError:“函数”对象没有“正在使用”属性 我尝试取消注释我刚写完但没有解析的所有代码。已检查奇数格式字符和无。。。错误几乎是自发出现的。以前运行的代码现在不运行。

在以下情况下会发生这种情况:

  • 您错误地为GenericAPIView类定义了方法重写
  • PyCharm然后建议将方法转换为属性
  • 您批准并将方法转换为属性
  • 不确定会发生什么,但PyCharm会修改Django包文件。即使删除@property decorator,问题仍然存在。 如果您在关闭IDE之前立即捕捉到了这一点,那么您可以按住ctrl+z键撤消更改,这将解决问题

    如果您已经关闭了IDE,或者无法通过ctrl+z撤消更改,那么解决方案是卸载并重新安装Django

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