我是 Django 的新手,我正在开发一个应用程序,但我陷入了这个错误。首先,我想为我的英语道歉,因为这不是我的第一语言,然后我希望我在正确的地方寻求帮助。
我正在开发一个关于文章发表的网站。“Publication”页面返回模型实例的列表——在我的例子中是数据库中的所有出版物。
我要做的是为我的模型的每个实例分配一个 url,以便用户可以单击它并查看填充了该实例的其他相关信息的页面。
为此,我在模板中使用 get_absolute_url,在视图中使用 DetailView。所有实例的列表工作正常,但是当我单击每个实例时,我运行错误 'NoneType' object has no attribute '_default_manager' 。我已经用谷歌搜索并尝试在这里和那里遵循一些指导方针,并尝试在 Django doc 中找到解决方案无法找出解决方案......
这是我的代码:
模型.py
class Publications(MPTTModel):
code = models.CharField(max_length=50)
title = models.CharField(max_length=150)
date = models.DateField(null=True)
magazine = models.CharField(max_length=50)
country = models.CharField(max_length=30)
slug = models.SlugField(max_length=150)
img01 = models.ImageField(upload_to="photo", blank=True, null=True)
link = models.URLField(max_length=200, blank=True, null=True)
template = models.ForeignKey("Template", related_name="publications", null=True, blank=True)
parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
control_field = models.CharField(max_length=15)
class Meta:
verbose_name_plural = "Publications"
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse('mag-publication',args=(self.slug,))
出版物.html
{% load mptt_tags %}
{% load sito_tags %}
{% full_tree_for_model myApp.Publications as publications %}
{% for publications,structure in publications|tree_info %}
{% if publications.img01 %}
<div id="title_publication_container">
<a href="{{ publications.get_absolute_url }}">{{ publications.magazine }}</a>
</div>
{% else %}
....
{% endif %}
{% endfor %}
网址.py
urlpatterns = patterns('',
url(r'^(?P<id_page>\d+)/(?P<slug>[\w-]+)/$', pages,),
url(r'^(?P<id_page>\d+)/(?P<slug_page>[\w-]+)/(?P<id>\d+)/(?P<slug>[\w-]+)/$', projects,),
url(r'^mag-publication/(?P<slug>[\w-]+)/$', PublicationDetailView.as_view() , name='mag-publication'),
)
视图.py
class PublicationView(object):
queryset = Publications.objects.all()
class PublicationListView(PublicationView, ListView):
paginate_by = 20
class PublicationDetailView(PublicationView, DetailView):
slug_field = 'slug'
该错误向我显示了此调试信息:
AttributeError at /6/publications/*title_publication*/
**'NoneType' object has no attribute '_default_manager'**
Request Method: GET
Request URL: .../6/publications/*title_publication*/
Django Version: 1.5.4
Exception Type: AttributeError
Exception Value: 'NoneType' object has no attribute '_default_manager'
Exception Location: /home/gabriele/virtual_envs/virt2/lib/python2.7/site-packages/feincms/views/cbv/views.py in get_object, line 20
Python Executable: /home/gabriele/virtual_envs/virt2/bin/python
正如它在“异常位置”中所说的那样,问题可能与 feincms 有关,但是在我尝试处理模型实例之后,一切都出现了。
谢谢您的帮助。