我在模板中有一个反向查询,该模板处理与外键连接在一起的两个表。该查询给出了我现在想要的结果,但在将来,很明显会给我带来严重的查询优化问题。我将查询发送到数据库,查找与我正在使用的表相关的所有图片,而不是只显示其中一个。
我无法适应我在HTML模板中编写的反向查询的视图函数。
class EtkinlikModel(models.Model):
...
class FotografModel(models.Model):
etkinlik = models.ForeignKey(EtkinlikModel, on_delete=models.CASCADE)
views.py 中的
def EtkinlikView(request):
etkinlikler = EtkinlikModel.objects.all().order_by("-olusturulma_tarihi")[:4]
template = “…”
context = {
"pageName": title,
"etkinlikler" : etkinlikler
}
return render(request,template,context)
template.html 中的
{% for etkinlik in etkinlikler %}
{{ etkinlik.etkinlik_adi }}
{% for foto in etkinlik.fotografmodel_set.all|slice:":1" %}
{{ foto.foto }}
{% endfor %}
{% endfor %}
views.py
def EtkinlikView(request):
etkinlikler = EtkinlikModel.objects.all().order_by("-olusturulma_tarihi")[:4]
for etkinlik in etkinlikler:
foto = etkinlik.fotografmodel_set.all()
template = “…”
context = {
"pageName": title,
"etkinlikler" : etkinlikler,
"foto":foto
}
return render(request,template,context)
template.html 中的
{% for etkinlik in etkinlikler %}
{{ etkinlik.etkinlik_adi }} {{ etkinlik.id }}
{% for f in foto %}
{{f.foto}}
{% endfor %}
{% endfor %}
每个etkinlik对象中只重复显示一个foto的结果
答案 0 :(得分:2)
def EtkinlikView(request):
etkinlikler = EtkinlikModel.objects.all().order_by("-olusturulma_tarihi")[:4]
template = "…"
context = {
"pageName": title,
"etkinlikler" : etkinlikler,
}
return render(request,template,context)
模板中的
{% for etkinlik in etkinlikler %}
{{ etkinlik.etkinlik_adi }} {{ etkinlik.id }}
{{ etkinlik.fotografmodel_set.first.foto }}
{% endfor %}
希望这会有用
答案 1 :(得分:2)
:
{% for etkinlik in etkinlikler %}
{{ etkinlik.etkinlik_adi }} {{ etkinlik.id }}
{{ etkinlik.fotografmodel_set.first.foto }}
{% endfor %}