【发布时间】:2021-06-18 03:35:01
【问题描述】:
对不起我的英语不好
我正在制作仪表板网站 我有 2 个模型,第二个模型有第一个模型的外键
json 示例
模型1:
{
id: 1,
name: name1,
location: location1
}
模型2:
{
id: 1,
model1_id: 1,
photo: "http://url/media/pictures/myphoto478998691182.jpg",
...
}
所以每个model1实例应该有更多的model2
在我看来,我有一个 model1 的 ListView 我想将 model2 的最后一张照片添加到它的上下文中,引用每个 model1 id
如果我有 2 个 model1 实例,每个都有 5 个 model2 实例,我想按 id 过滤 model2 并获取每个 model1 实例的最后一张照片
Sp 如何修复此代码:
class Model1List(CustomLoginRequired, ListView):
model = Model1
paginate_by = 100
def get_context_data(self, **kwargs):
photo_list = Model2.objects.filter(model1_id = self.kwargs.get('id'))
photo = list(photo_list.values_list('photo', flat=True))[-1]
context = super().get_context_data(**kwargs)
context['now'] = timezone.now()
context['photo'] = photo
return context
为了能够像这样在 html 模板中使用它
{% for object in object_list %}
<div class="branches-list-unit" id="{{ object.slug }}">
<h5 class="branch-list-unit__name">{{ object.name }}</h5>
<img class="branch-list-unit__img" src="{{ object.photo }}"
</div>
{% endfor %}
【问题讨论】:
标签: django django-models django-views django-templates