在Django的DetailView中使用"Slug"出现问题
- 论坛
- 在Django的DetailView中使用"Slug"出现问题
27 浏览
在Django的DetailView中使用"Slug"出现问题
models.py
class Tag(models.Model): name = models.CharField(max_length=64, unique=True) slug = models.SlugField(max_length=255, unique=True) def save(self, *args, **kwargs): self.slug = slugify(self.name) super(Tag, self).save(*args, **kwargs)
urls.py
url(r'^tag/(?P[A-Za-z0-9_\-]+)/$', TagDetailView.as_view(), name='tag_detail'),
views.py
class TagDetailView(DetailView): template_name = 'tag_detail_page.html' context_object_name = 'tag'
这样做应该没有问题,因为Django的通用DetailView会查找"slug"或"pk"来获取对象。然而,访问"localhost/tag/RandomTag"时出现错误:
错误:
ImproperlyConfigured at /tag/RandomTag/ TagDetailView缺少一个查询集。请定义TagDetailView.model、TagDetailView.queryset,或者覆盖TagDetailView.get_queryset()。
有人知道为什么会出现这种情况吗...???
谢谢!!!