ForeignKey — это отношение много-к-одному. Вы можете создать много изображений, поместив им в поле
post
одну и ту же новость.
Поэтому
post.image
— это не само изображение, а
менеджер, который возвращает все изображения для этой новости. Иными словами,
post.image
вернет то же самое, что и
Images.objects.filter(post=post)
. Поправить это можно несколькими способами.
Если вы хотите, чтобы всё просто заработало без значительных изменений:
<img src="{{ new.image.first().url }}">
Если у новости действительно может быть много изображений
{% for image in new.image.all %}
<img src="{{ image.image.url }}">
{% endfor %}
Если у новости может быть только одно изображение:
class Images(models.Model):
post = models.OneToOneField(News, default=None, related_name="image")
image = models.ImageField(upload_to=settings.MEDIA_ROOT,
verbose_name="Image")
OneToOneField — это отношение один-к-одному. В этом случае
post.image
уже будет сразу возвращать изображение.