Как получить несколько картинок к посту из базы данных?

У меня есть раздел объявлений на сайте. К одному объявлению (посту) относится по три фотографии. Фото и посты находятся в разных моделях базы данных, но у них одинаковые post_id. При отображении всех постов не могу получить фотографии к ним, пытаюсь это сделать по их post_id, но получаю такую ошибку "The QuerySet value for an exact lookup must be limited to one result using slicing". То-есть мне нужно синхронизировать выдачу постов и фотографии к ним, которые находятся в разных моделях б/д. Помогите пожалуйста, четвёртый день голову ломаю. Вот мой код:

models.py

`class Asnt(models.Model):
title = models.CharField(max_length=100, verbose_name= 'Заголовок')
text = models.TextField(verbose_name= 'Описание')
region = models.CharField(max_length=100, verbose_name= 'Регион', default='')
contacts = models.TextField(verbose_name= 'Контакты', default='')
price = models.TextField(verbose_name= 'Цена', default='')
pub_date = models.DateTimeField(auto_now_add=True, verbose_name= 'Дата публикации')
cat = models.ForeignKey(
    Cat, on_delete=models.SET_NULL,
    related_name='content',
    blank=True,
    null=True,
    verbose_name= 'Раздел'
)
person = models.ForeignKey(
    User,
    on_delete=models.CASCADE,
    related_name='person',
    verbose_name= 'Автор'
)


class Meta:
    ordering = ['-pub_date']
    verbose_name = 'Пост'
    verbose_name_plural = 'Объявления'

def __str__(self):
    return self.text[:15]`


`class Photo(models.Model):
post = models.ForeignKey(Asnt, default=None, on_delete=models.CASCADE)
photos = models.ImageField(
    'Фото',
    upload_to='posts/',
    blank=True
)

def __str__(self):
    return self.post.title`

views.py

`def public(request):
publick_posts = Asnt.objects.select_related()
photos = Photo.objects.filter(post_id=publick_posts)
paginator = Paginator(publick_posts, 15)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
context= {
    'page_obj': page_obj,
    'image': photos,
}
return render(request, 'content/post_copy1.html', context)`

form.py

`class CatForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['cat'].empty_label = "Раздел не выбран"
class Meta:
    model = Asnt
    fields = ('title', 'text', 'price', 'region', 'contacts','cat')
    widgets = {
        'title': forms.TextInput(attrs={'class': 'form-control', 'placeholder': "Введите название"}),
        'price': forms.TextInput(attrs={'class': 'form-control', 'placeholder': "Цена в рублях"}),
        'region': forms.TextInput(attrs={'class': 'form-control', 'placeholder': "Укажите регион"}),
        'contacts': forms.TextInput(attrs={'class': 'form-control', 'placeholder': "Ваши контакты для связи"}),
        'text': forms.Textarea(attrs={'class': 'form-control', 'rows':4, 'placeholder': "Введите описание"}),
        'cat': forms.Select(attrs={'class': 'form-control'}),
        'multiple': 'multiple'}),
    }
    

def clean_text(self):
    data = self.cleaned_data['text']
    if data == '':
        raise forms.ValidationError('Поле не может быть пустым')
    return data`

`class PhotoForm(forms.ModelForm):
    
class Meta:
    model = Photo
    fields = ('photos',)
    widgets = {
        'photos': forms.FileInput(attrs={'multiple': True}),
    }`
    
`@register.filter
def addclass(field, css):
    return field.as_p(attrs={'class': css})`

Ответы (0 шт):