我的问题可能很基本,对于在此处发布此类问题,我深表歉意。不幸的是,我找不到适合的解决方案。
我有两个类,其中一个类继承自generic.DetailView,另一个类继承自generic.ListView。
除了获取Post模型的详细信息外,我还要在同一模板中调用查询以提取标记为必不可少的帖子。不过,我对正确的执行方式有些困惑。如果有人指导我,我将不胜感激。
from django.shortcuts import render
from django.views import generic
from .models import Post
class Details(generic.DetailView):
model = Post
class EssentialPosts(generic.ListView):
def getessentialposts(self):
queryset = Post.objects.filter(essential=True).order_by('-created_on')
return queryset
class PostDetail(Details , EssentialPosts):
template_name = 'post-detail.html'
最佳答案
您可以执行以下操作:
class PostDetailView(DetailView):
model = Post
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['essential_posts'] = Post.objects.filter(essential=True).order_by('-created_on')
return context
关于python - 对Django通用 View 有些困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59583750/