我的问题可能很基本,对于在此处发布此类问题,我深表歉意。不幸的是,我找不到适合的解决方案。
我有两个类,其中一个类继承自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/

10-12 21:18