Django Wagtail博客示例导致没有属性'_默认管理器';
我正在使用Python3.6.7、Wagtail 2.5.1和Django 2.2.1完成这项工作。在我在页面末尾添加类别之前,一切正常Django Wagtail博客示例导致没有属性'_默认管理器';,django,python-3.x,wagtail,Django,Python 3.x,Wagtail,我正在使用Python3.6.7、Wagtail 2.5.1和Django 2.2.1完成这项工作。在我在页面末尾添加类别之前,一切正常 class ArticlePage(Page): date = models.DateField("Post date") intro = models.CharField(max_length=250) body = RichTextField(blank=True) tags = ClusterTaggableManager
class ArticlePage(Page):
date = models.DateField("Post date")
intro = models.CharField(max_length=250)
body = RichTextField(blank=True)
tags = ClusterTaggableManager(through=ArticlePageTag, blank=True)
categories = ParentalManyToManyField('article.ArticleCategory', blank=True)
# ... (Keep the main_image method and search_fields definition)
content_panels = Page.content_panels + [
MultiFieldPanel([
FieldPanel('date'),
FieldPanel('tags'),
FieldPanel('categories', widget=forms.CheckboxSelectMultiple),
], heading="Article information"),
FieldPanel('intro'),
FieldPanel('body'),
InlinePanel('gallery_images', label="Gallery images"),
]
FieldPanel“categories”产生错误。以下是运行makemigrations时的回溯:
(env) simon@ckweb$ ./manage.py makemigrations │Watching for file changes with StatReloader
Traceback (most recent call last): │Exception in thread django-main-thread:
File "./manage.py", line 10, in <module> │Traceback (most recent call last):
execute_from_command_line(sys.argv) │ File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line │ self.run()
utility.execute() │ File "/usr/lib/python3.6/threading.py", line 864, in run
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute │ self._target(*self._args, **self._kwargs)
self.fetch_command(subcommand).run_from_argv(self.argv) │ File "/home/simon/.local/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv │ fn(*args, **kwargs)
self.execute(*args, **cmd_options) │ File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/base.py", line 361, in execute │ autoreload.raise_last_exception()
self.check() │ File "/home/simon/.local/lib/python3.6/site-packages/django/utils/autoreload.py", line 77, in raise_last_exception
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/base.py", line 390, in check │ raise _exception[0](_exception[1]).with_traceback(_exception[2])
include_deployment_checks=include_deployment_checks, │ File "/home/simon/.local/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
File "/home/simon/.local/lib/python3.6/site-packages/django/core/management/base.py", line 377, in _run_checks │ fn(*args, **kwargs)
return checks.run_checks(**kwargs) │ File "/home/simon/.local/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
File "/home/simon/.local/lib/python3.6/site-packages/django/core/checks/registry.py", line 72, in run_checks │ apps.populate(settings.INSTALLED_APPS)
new_errors = check(app_configs=app_configs) │ File "/home/simon/.local/lib/python3.6/site-packages/django/apps/registry.py", line 114, in populate
File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/checks.py", line 63, in get_form_class_check │ app_config.import_models()
if not issubclass(edit_handler.get_form_class(), WagtailAdminPageForm): │ File "/home/simon/.local/lib/python3.6/site-packages/django/apps/config.py", line 211, in import_models
File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/edit_handlers.py", line 369, in get_form_class │ self.models_module = import_module(models_module_name)
widgets=self.widget_overrides()) │ File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/edit_handlers.py", line 64, in get_form_for_model │ return _bootstrap._gcd_import(name[level:], package, level)
return metaclass(class_name, (form_class,), form_class_attrs) │ File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/forms/models.py", line 66, in __new__ │ File "<frozen importlib._bootstrap>", line 971, in _find_and_load
new_class = super(WagtailAdminModelFormMetaclass, cls).__new__(cls, name, bases, attrs) │ File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "/home/simon/.local/lib/python3.6/site-packages/modelcluster/forms.py", line 245, in __new__ │ File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
new_class = super(ClusterFormMetaclass, cls).__new__(cls, name, bases, attrs) │ File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "/home/simon/.local/lib/python3.6/site-packages/django/forms/models.py", line 256, in __new__ │ File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
apply_limit_choices_to=False, │ File "/mnt/c/Users/simon/OneDrive/dev/wagtail/ckweb/articles/models.py", line 33, in <module>
File "/home/simon/.local/lib/python3.6/site-packages/django/forms/models.py", line 176, in fields_for_model │ class ArticlePage(Page):
formfield = formfield_callback(f, **kwargs) │ File "/mnt/c/Users/simon/OneDrive/dev/wagtail/ckweb/articles/models.py", line 58, in ArticlePage
File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/forms/models.py", line 47, in formfield_for_dbfield │ InlinePanel('related_content_page', widget=forms.CheckboxSelectMultiple),
return db_field.formfield(**kwargs) │ File "/home/simon/.local/lib/python3.6/site-packages/wagtail/admin/edit_handlers.py", line 646, in __init__
File "/home/simon/.local/lib/python3.6/site-packages/django/db/models/fields/related.py", line 1626, in formfield │ super().__init__(*args, **kwargs)
'queryset': self.remote_field.model._default_manager.using(using), │TypeError: __init__() got an unexpected keyword argument 'widget'
AttributeError: 'str' object has no attribute '_default_manager'
(env)simon@ckweb$./manage.py makemigrations│使用StatReloader监视文件更改
回溯(最近一次呼叫最后一次):│线程django主线程中出现异常:
文件“/manage.py”,第10行,在│回溯(最近一次呼叫最后一次):
从命令行(sys.argv)执行命令│ 文件“/usr/lib/python3.6/threading.py”,第916行,在内部引导中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/_init__.py”,第381行,从命令行执行│ self.run()
utility.execute()│ 文件“/usr/lib/python3.6/threading.py”,第864行,运行中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/_init__.py”,执行中第375行│ 自我目标(*自我参数,**自我参数)
self.fetch_命令(子命令)。从_argv(self.argv)运行_│ 文件“/home/simon/.local/lib/python3.6/site packages/django/utils/autoreload.py”,第54行,在包装器中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/base.py”,第323行,在运行时从│ fn(*args,**kwargs)
self.execute(*args,**cmd_选项)│ 文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/commands/runserver.py”,第109行,在内部运行
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/base.py”,第361行,在execute中│ autoreload.raise\u last\u异常()
self.check()│ 文件“/home/simon/.local/lib/python3.6/site packages/django/utils/autoreload.py”,第77行,在raise\u last\u异常中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/base.py”,第390行,选中│ 引发异常[0](\u异常[1])。并进行跟踪(\u异常[2])
包括部署检查=包括部署检查,│ 文件“/home/simon/.local/lib/python3.6/site packages/django/utils/autoreload.py”,第54行,在包装器中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/management/base.py”,第377行,在运行检查中│ fn(*args,**kwargs)
返回检查。运行检查(**kwargs)│ 文件“/home/simon/.local/lib/python3.6/site packages/django/_init__.py”,第24行,在安装程序中
文件“/home/simon/.local/lib/python3.6/site packages/django/core/checks/registry.py”,第72行,运行检查│ 应用程序。填充(设置。已安装的应用程序)
新建错误=检查(应用程序配置=应用程序配置)│ 文件“/home/simon/.local/lib/python3.6/site packages/django/apps/registry.py”,第114行,填充
文件“/home/simon/.local/lib/python3.6/site packages/wagtail/admin/checks.py”,第63行,在get\u form\u class\u check中│ app_config.import_models()
如果不是issubclass(编辑\u handler.get\u form\u class(),WagtailAdminPageForm):│ 文件“/home/simon/.local/lib/python3.6/site packages/django/apps/config.py”,第211行,在import\u模型中
文件“/home/simon/.local/lib/python3.6/site packages/wagtail/admin/edit\u handlers.py”,第369行,在get\u form\u类中│ self.models\u module=导入模块(models\u module\u name)
widgets=self.widget\u覆盖()│ 文件“/usr/lib/python3.6/importlib/_init_uuu.py”,第126行,在导入模块中
文件“/home/simon/.local/lib/python3.6/site packages/wagtail/admin/edit_handlers.py”,第64行,在get_form_for_模型中│ return _bootstrap._gcd_import(名称[级别:],包,级别)
返回元类(类名称,(形式类),形式类属性)│ 文件“”,第994行,在_gcd_导入中
文件“/home/simon/.local/lib/python3.6/site packages/wagtail/admin/forms/models.py”,第66行,在│ 文件“”
ParentalManyToManyField('article.ArticleCategory', blank=True)
ParentalManyToManyField('articles.ArticleCategory', blank=True)