在一个视图中使用不同的查询集

海岸

我正在尝试使用Django制作标准的博客文章Web应用程序。我在一个应用程序中有多个模型。我想在所有模型的几条帖子中显示一个索引,为此我需要在每个模型的视图中包含多个queryset,我不知道该怎么做。

博客/models.py

class topicone(models.Model):
    title = models.CharField(max_length=200)
    date = models.DateTimeField()

    def __str__(self):
        return self.title


class topictwo(models.Model):
    title = models.CharField(max_length=200)
    date = models.DateTimeField()

    def __str__(self):
        return self.title


class topicthree(models.Model):
    title = models.CharField(max_length=200)
    date = models.DateTimeField()

    def __str__(self):
        return self.title

博客/urls.py

urlpatterns = [

    path('', views.indeview.as_view(), name="indexview"),

    path('<int:pk>', DetailView.as_view(
        model = topicone,
        template_name = "blogs/topicone.html"
    )),
]

blog / views.py

class indeview(ListView):
    model = topicone
    template_name = "blog/index.html"

    def get_queryset(self):
        return topicone.objects.all()

views.py完全没有用,因为我在这里只使用一种模型。我尝试编写一个不继承自任何其他通用视图的独立视图,因此我可以创建不同的上下文并在视图中传递多个字典,但这似乎行不通。这是我试图解决的方法

blogone = topicone.objects.all()
blogdict = {
    'id': blogone
}

blogtwo = topictwo.objects.all()
blog2dict = {'id': blogtwo}

return render (request, 'blog/index.html', blogdict, blogtwo)

此视图仅显示来自一个模型的数据, blogtwo

蒂亚戈摊位

您应该考虑以下内容:

blogone = topicone.objects.all()
blogtwo = topictwo.objects.all()

return render(request, 'blog/index.html', {'blogone': blogone, 'blogtwo': blogtwo})

由于渲染PARAMS是requesttemplatecontext

参考:https : //docs.djangoproject.com/en/2.0/topics/http/shortcuts/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在同一个甜甜圈图中使用不同的数据

在一个ggplot图中使用不同的刻度线长度

如何在一个 MapView 中使用不同的视图

在 Qt 中使用不同模型的另一个列表视图的委托中访问列表视图模型数据

如何在mvc4的同一视图中使用不同的模型?

在局部视图中使用不同的模型

对一个特定的视图使用不同的模板/应用程序视图

使用一个唯一值更新查询,另一个使用不同值更新查询

在Contourf图中为一个级别使用不同的cmap /颜色

如何在PreviewProvider的一个视图中为该视图使用变量集?

在同一图中使用不同的阴影

在一个查询中使用内部联接和不同

在视图中使用来自另一个视图的数据触发Modal SwiftUI

是否可以使用mediatR处理一个查询但使用不同的处理程序?

是否可以在一个视图中使用2个模型

如何在一个视图中使用带有 2 个参数的 AVG()

如何将一个jQuery放在只能在该局部视图中使用的局部视图中?

如何在一个Keras层中使用不同的激活功能?

在同一个单元格中使用不同格式的条件格式

如何在一个css文件中使用不同的颜色主题

如何在html,javascript中的一个范围输入中使用不同的step属性

如何在Golang中使用不同的界面在一个网页中执行多个模板?

如何在一个端点中使用不同的请求主体?

如何在一个Metal API场景中使用不同的片段着色器?

如何在同一个 HTML 链接中使用不同的颜色?

LibGDX如何在一个阶段中使用不同的批次

如何在Laravel 5.6的一个刀片文件中使用不同的形式

如何在一个项目中使用不同的语言

在R中使用不同的参数创建一个函数