我正在尝试修复Zinnia博客应用程序的问题及其与聚合器和条目相关的弹出错误。以下是有人提出建议的代码:
def get_authors(context, template='zinnia/tags/authors.html'):
"""
Return the published authors.
"""
return {'template': template,
'authors': Author.published.all().annotate(
count_entries_published=Count('entries')),
'context_author': context.get('author')}
上面我不认为导致任何问题,但下面是可能导致倒数第二行所有麻烦的代码。
def get_queryset(self):
"""
Return a queryset containing published entries.
"""
now = timezone.now()
return super(
EntryRelatedPublishedManager, self).get_queryset().filter(
models.Q(entries__start_publication__lte=now) |
models.Q(entries__start_publication=None),
models.Q(entries__end_publication__gt=now) |
models.Q(entries__end_publication=None),
entries__status=PUBLISHED,
entries__sites=Site.objects.get_current()
).distinct()
请建议一个解决方案,因为整体百日草是一个令人印象深刻的应用程序,但有一个错误,它几乎无用。回购的所有者已经有很多用户抱怨。 Python2和PYthon3的错误都是一样的。
对于愿意为此工作的慷慨的程序员,回购位于https://github.com/Fantomas42/django-blog-zinnia/issues。
Traceback:
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\core\handlers\exception.py" in inner
39. response = get_response(request)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\core\handlers\base.py" in _legacy_get_response
249. response = self._get_response(request)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\core\handlers\base.py" in _get_response
217. response = self.process_exception_by_middleware(e, request)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\core\handlers\base.py" in _get_response
215. response = response.render()
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\response.py" in render
109. self.content = self.rendered_content
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\response.py" in rendered_content
86. content = template.render(context, self._request)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\backends\django.py" in render
66. return self.template.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
208. return self._render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in _render
199. return self.nodelist.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
994. bit = node.render_annotated(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render_annotated
961. return self.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\loader_tags.py" in render
174. return compiled_parent._render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in _render
199. return self.nodelist.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
994. bit = node.render_annotated(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render_annotated
961. return self.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\loader_tags.py" in render
174. return compiled_parent._render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in _render
199. return self.nodelist.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
994. bit = node.render_annotated(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render_annotated
961. return self.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\loader_tags.py" in render
174. return compiled_parent._render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in _render
199. return self.nodelist.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
994. bit = node.render_annotated(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render_annotated
961. return self.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\loader_tags.py" in render
70. result = block.nodelist.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render
994. bit = node.render_annotated(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\base.py" in render_annotated
961. return self.render(context)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\template\library.py" in render
225. _dict = self.func(*resolved_args, **resolved_kwargs)
File "C:\Users\Shazia\zinblog\lib\site-packages\django_blog_zinnia-0.18-py2.7.egg\zinnia\templatetags\zinnia.py" in get_authors
85. 'authors': Author.published.all().annotate(
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\manager.py" in all
160. return self.get_queryset()
File "C:\Users\Shazia\zinblog\lib\site-packages\django_blog_zinnia-0.18-py2.7.egg\zinnia\managers.py" in get_queryset
107. entries__sites=Site.objects.get_current()
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\query.py" in filter
796. return self._filter_or_exclude(False, *args, **kwargs)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\query.py" in _filter_or_exclude
814. clone.query.add_q(Q(*args, **kwargs))
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in add_q
1227. clause, _ = self._add_q(q_object, self.used_aliases)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in _add_q
1247. current_negated, allow_joins, split_subq)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in _add_q
1253. allow_joins=allow_joins, split_subq=split_subq,
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in build_filter
1133. lookups, parts, reffed_expression = self.solve_lookup_type(arg)
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in solve_lookup_type
1019. _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
File "C:\Users\Shazia\zinblog\lib\site-packages\django-1.10.1-py2.7.egg\django\db\models\sql\query.py" in names_to_path
1327. "Choices are: %s" % (name, ", ".join(available)))
Exception Type: FieldError at /weblog/
Exception Value: Cannot resolve keyword 'entries' into field. Choices are: comment_comments, comment_flags, date_joined, email, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, logentry, password, user_permissions, username
答案 0 :(得分:2)
尝试在之前的INSTALLED_APPS设置中注册zinnia之后的django_comments。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'mptt',
'tagging',
'zinnia',
'django_comments',
)
从repo的所有者那里得到了这个解决方案。检查Github上的问题。