繁体   English   中英

Django - TypeError: _clone() 只需要 1 个参数(给出 3 个)

[英]Django - TypeError: _clone() takes exactly 1 argument (3 given)

我正在尝试将django_quiz GITHUB应用程序安装到我的Django项目中。 我已经完成了“安装”自述文件中的所有内容,但它引发了错误:

return super(InheritanceQuerySetMixin, self)._clone(klass, setup, **kwargs)
TypeError: _clone() takes exactly 1 argument (3 given)

所以我做了

  1. python pip install Pillowpip install django-model-utils
  2. 将文件从 GitHub 克隆到 Django 文件夹目录中(有manage.py 、 apps dir 等)。
  3. cd django_quiz
  4. python setup.py install
  5. INSTALLED_APPS添加了'quiz', 'multichoice', 'true_false', 'essay'
  6. 添加url(r'^q/', include('quiz.urls'))urlpatterns ( urls.py )

在此之后,我尝试python manage.py runserver并引发了错误。 所以我已经尝试过 makemigrations 但发生了同样的错误。

这是来自 cmd 行的整个回溯(在runserver之后):

C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\venv\lib\si
te-packages\django_model_utils-2.0.3-py2.7.egg\model_utils\managers.py:106: Remo
vedInDjango110Warning: 'get_all_related_objects is an unofficial API that has be
en deprecated. You may be able to replace it with 'get_fields()'
  rel for rel in model._meta.get_all_related_objects()

C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\venv\lib\si
te-packages\django_model_utils-2.0.3-py2.7.egg\model_utils\managers.py:106: Remo
vedInDjango110Warning: 'get_all_related_objects is an unofficial API that has be
en deprecated. You may be able to replace it with 'get_fields()'
  rel for rel in model._meta.get_all_related_objects()

Unhandled exception in thread started by <function wrapper at 0x033284F0>
Traceback (most recent call last):
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\core\management\commands\runserver.py", line 109, in
inner_run
    autoreload.raise_last_exception()
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_excepti
on
    six.reraise(*_exception)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\apps\registry.py", line 115, in populate
    app_config.ready()
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\contrib\admin\apps.py", line 22, in ready
    self.module.autodiscover()
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\contrib\admin\__init__.py", line 26, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\utils\module_loading.py", line 50, in autodiscover_mo
dules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "c:\python27\Lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django_quiz_app-0.5.1-py2.7.egg\quiz\admin.py", line 16, in
<module>
    class QuizAdminForm(forms.ModelForm):
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django_quiz_app-0.5.1-py2.7.egg\quiz\admin.py", line 29, in
QuizAdminForm
    queryset=Question.objects.all().select_subclasses(),
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django_model_utils-2.0.3-py2.7.egg\model_utils\managers.py",
 line 48, in select_subclasses
    new_qs = self.select_related(*subclasses)
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django\db\models\query.py", line 852, in select_related
    obj = self._clone()
  File "C:\Users\Milano\PycharmProjects\FutileStudio\SolutionsForLanguages_2\ven
v\lib\site-packages\django_model_utils-2.0.3-py2.7.egg\model_utils\managers.py",
 line 61, in _clone
    return super(InheritanceQuerySetMixin, self)._clone(klass, setup, **kwargs)
TypeError: _clone() takes exactly 1 argument (3 given)

你知道问题出在哪里吗?

转到 manager.py 中的 InheritanceQuerySetMixin 类,从 def _clone() 中删除参数 klass、setup,然后运行 ​​python manage.py makemigrations for quiz、essay、multichoice、true_false 并运行 python manage.py migrate ,最后运行 python manage .py 运行服务器 8000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM