Загрузка нескольких изображений в пост в Django View Error(Cannot resolve keyword 'post' into field.)

Моя модель :

class Gallary (models.Model):
    ProgramTitle = models.CharField(max_length=200, blank = False)
    Thum = models.ImageField(upload_to='Gallary/Thumb/',default = "", blank = False, null=False)
    VideoLink = models.CharField(max_length=200, blank = True,default = "")
    updated_on = models.DateTimeField(auto_now = True)
    created_on = models.DateTimeField(auto_now_add =True)
    status = models.IntegerField(choices=STATUS, default = 1)
    total_views=models.IntegerField(default=0)
    
    class Meta:
        verbose_name = 'Add Gallary Content'
        verbose_name_plural = 'Add Gallary Content'

     #for compress images
    if Thum.blank == False :
        def save(self, *args, **kwargs):

            # call the compress function
            new_image = compress(self.Thum)
            # set self.image to new_image
            self.Thum = new_image
            # save
            super().save(*args, **kwargs)
     
    def __str__(self):
        return self.ProgramTitle

class GallaryDetails (models.Model):
    Gallary = models.ForeignKey(Gallary, default = None, on_delete = models.CASCADE)
    G_Images = models.ImageField(upload_to='Gallary/Images/',default = "", blank = False, null=False)
    
     #for compress images
    if G_Images.blank == False :
        def save(self, *args, **kwargs):

            # call the compress function
            new_image = compress(self.G_Images)
            # set self.image to new_image
            self.G_Images = new_image
            # save
            super().save(*args, **kwargs)
     
    def __str__(self):
        return self.Gallary.ProgramTitle

Мое мнение

def gallery(request):

    gallary = Gallary.objects.all()

    context = {
        'gallary': gallary.order_by('-created_on')

    }
    return render(request, 'gallery.html',context)

def album_details(request, post_id):
    post = get_object_or_404(Gallary,pk=post_id)
    photos = GallaryDetails.objects.filter(post=post)
    context = {
       'post':post,
       'photos': photos
    }    
    return render(request, 'album_details.html',context)

Галларный вид

<div class="our_gallery  pt-60 ptb-80">
        <div class="container">
            <div class="row">
                {% for post in gallary %}
                <div class="col-lg-4 col-md-6">
                    <div class="singleAlbum">
                        <div class="albumThumb">
                            <a href="{% url 'album_details' post.pk %}">
                                {% if post.Thum %}
                                <img src="{{ post.Thum.url }}" alt="">
                                {% endif %}
                            </a>
                        </div>
                        <h5 class="albumTitle"><a href="{% url 'album_details' post.pk %}">{{post.ProgramTitle}}</a></h5>
                    </div>
                </div>
                {% endfor %}
            </div>
        </div>

Просмотр подробной информации о галерее

<div id="gallery" class="container-fluid">

                    {% for p in photos.all %}
                    <div class="popup-gallery">
                        
                        {% if p.G_Images %}
                        <a href="{{ p.G_Images.url }}" title="The Cleaner"><img src="{{ p.G_Images.url }}" width="75" height="75"></a>
                        {% endif %}
                        
                    </div>
                    {% endfor %}

ошибка === введите здесь описание изображения

Rвведите описание изображения здесьрезультат:

Я работаю над проектом портфолио и хочу добавить несколько изображений на Django admin сайта, затем отобразить одно из header_image и название проекта на главной странице/странице списка (подобно функциональности card class в bootstrap) и другие изображения на странице деталей. Возможно ли это?

Change

photos = GallaryDetails.objects.filter(post=post)

to

photos = GallaryDetails.objects.filter(Gallary=post)

GallaryDetails не имеет поля с названием post. Оно называется Gallary.

Также хорошей практикой является использование в именах Class names только заглавных букв. Имена полей должны начинаться со строчных букв.

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