Я работаю над проектом с использованием Python (3.7) и Django (2.2), в котором я реализовал две модели ItemModel
и Images
, поэтому у каждого элемента будет несколько изображений и добавлен элемент в модель images
и добавьте related_name
, но когда я пытаюсь получить доступ к этим изображениям в шаблоне Django, он не предоставляет никакой информации относительно этих изображений.
Вот мои модели: С models.py
:
class ItemModel(models.Model):
stock_number = models.IntegerField(blank=False)
title = models.CharField(max_length=255, blank=False)
price = models.IntegerField(blank=False)
description = models.TextField(max_length=1000)
condition = models.CharField(max_length=255, choices=COND_CHOICES, blank=False)
model = models.CharField(max_length=255)
dimensions = models.CharField(max_length=255)
make = models.CharField(max_length=255)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Images(models.Model):
item = models.ForeignKey(ItemModel, on_delete=models.CASCADE, related_name='images')
image = models.ImageField(upload_to=images_directory_path)
Обновление: Вот функция, которую я использую для переименования изображений:
def images_directory_path(instance, filename):
return '/'.join(['images', str(instance.item.id), str(uuid.uuid4().hex + ".png")])
И вот я пытаюсь получить доступ к этимизображения для элемента в шаблоне:
{% for img in item.images.all %}
{% if forloop.first %}
<td> {{ item.images.first.name }}</td>
{% endif %}
{% endfor %}
Вот вид:
От views.py
:
class Inventory(View, LoginRequiredMixin):
def get(self, request):
items = None
try:
items = ItemModel.objects.all()
except ItemModel.DoesNotExist:
return redirect('home')
return render(request, 'app/inventory.html', {'all_items': items})
что может бытьздесь не так?