Несколько изображений в одном наборе запросов Django

Как добавить несколько изображений в один кверисет django, который будет иметь поле image? Это можно сделать через foreignkey, но если я использую разные таблицы для изображений, то идентификаторы будут генерироваться по-разному

Может ли кто-нибудь помочь мне, как именно я могу загрузить несколько изображений в один кверисет django? Пример: Мы можем загрузить несколько изображений в один пост Facebook

Наиболее распространенным способом реализации отношения "многие-к-одному" является создание еще одной таблицы и ее подключение через внешний ключ. Вы можете сделать что-то подобное в вашем models.py :

class Post(models.Model):
    title = models.CharField(max_length=250)
    image = models.FileField(blank=True)

class Images(models.Model):
    post = models.ForeignKey(Post, default=None, on_delete=models.CASCADE)
    images = models.FileField(upload_to = 'images/')

Здесь атрибут post класса Images будет использоваться для связи изображений с соответствующими постами. В views.py вы можете фильтровать изображения на основе атрибута внешнего ключа таким образом :

def detail_view(request, id):
    post = get_object_or_404(Post, id=id)
    images = PostImage.objects.filter(post=post)
    return render(request, 'detail.html', {'post':post,'images':images})

Теперь все изображения, переданные в качестве контекста, являются изображениями, которые должны были быть связаны с этим конкретным постом для использования в вашем шаблоне.

Вернуться на верх