Вероятно, чрезвычайно простое решение, но не могу придумать.Конечная цель - создать галерею, показывающую сначала категории.В каждой категории должно отображаться последнее добавленное изображение с соответствующим названием категории.
My models.py
class Category(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField()
objects = models.Manager()
class Meta:
verbose_name_plural = 'categories'
def __str__(self):
return self.name
class Item(models.Model):
name = models.CharField(max_length=200)
description = models.TextField(blank=False, null=True)
date = models.DateTimeField(blank=False, null=True)
image = models.ImageField(blank=True, null=True)
category = models.ForeignKey(Category, blank=True, null=True, on_delete=models.SET_NULL)
objects = models.Manager()
class Meta:
app_label = 'home'
get_latest_by = 'date'
My views.py
def index(request):
cat = Category.objects.all()
latest = Item.objects.latest('date')
context = {
'categories': cat,
'last_added': latest,
}
return render(request, 'gallery/index.html', context)
My index.html
{% block content %}
<h4 class="gallery">Gallery</h4>
{% for category in categories %}
<p class="category">{{ category.name }}</p>
<p> <img class="images" src="{{ last_added.image.url }}"> </p>
{% endfor %}
{% endblock %}
Я не могу понять, как отобразить последнее изображение для соответствующей категории.Я знаю, что должен каким-то образом создать динамический запрос, который будет использовать «category.name» в качестве переменной, но как вы это сделаете?Любой вклад будет очень ценным, по крайней мере, указав направление, в котором я должен работать.