gpt4 book ai didi

django - 多个模型通用 ListView 到模板

转载 作者:行者123 更新时间:2023-12-04 13:08:04 24 4
gpt4 key购买 nike

在通用 IndexView 中列出 2 个模型的最简单方法是什么?我的两个型号是CharacterSeriesCharacterUniverse .

我的意见.py

    from .models import CharacterSeries, CharacterUniverse


class IndexView(generic.ListView):
template_name = 'character/index.html'
context_object_name = 'character_series_list'

def get_queryset(self):
return CharacterSeries.objects.order_by('name')


class IndexView(generic.ListView):
template_name = 'character/index.html'
context_object_name = 'character_universe_list'

def get_queryset(self):
return CharacterUniverse.objects.order_by('name')

我需要知道最短和最优雅的代码。看了很多,但不想使用mixin。我可能没有被指出正确的方向。

谢谢大家。

最佳答案

您可以像这样在 ListView 上将一个查询集作为上下文传递,

class IndexView(generic.ListView):
template_name = 'character/index.html'
context_object_name = 'character_series_list'
model = CharacterSeries

def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context.update({
'character_universe_list': CharacterUniverse.objects.order_by('name'),
'more_context': Model.objects.all(),
})
return context

def get_queryset(self):
return CharacterSeries.objects.order_by('name')

关于django - 多个模型通用 ListView 到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31133963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com