У меня есть модель с FileField, когда я отправляю форму для загрузки изображений, которую она отправляет в первый раз. Но когда я хочу загрузить другое изображение, я получаю эту ошибку: get () вернул более одного изображения - он вернул 2!
class Image(models.Model):
imageuploader_profile = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE, null=True, blank=True)
first_upload_image = models.FileField(upload_to ='pictsagram/',null=True)
second_upload_image = models.FileField(upload_to ='pictsagram/',null=True)
def home(request):
all_images = Image.objects.filter(imageuploader_profile=request.user.id)
try:
upload_images = Image.objects.get(imageuploader_profile=request.user.id)
except Image.DoesNotExist:
upload_images = None
all_users = Profile.objects.all()
next = request.GET.get('next')
if next: return redirect(next)
context = {
'all_images': all_images,
'all_users': all_users,
'upload_images': upload_images,
}
return render(request,'home.html', context,)
def upload(request):
form = PostForm(request.POST,request.FILES)
if request.method == "POST":
print(request.FILES)
if form.is_valid():
post = form.save(commit=False)
post.imageuploader_profile = request.user
post.save()
return redirect('/')
else:
form = PostForm()
return render(request, 'upload.html', {"form": form})
{% if upload_images.first_upload_image %}
<img src="{{ upload_images.first_upload_image.url }}" class="img-fluid d-block w-100" alt="orange tree" />
{% endif %}
{% if upload_images.second_upload_image %}
<img src="{{ upload_images.second_upload_image.url }}" class="img-fluid d-block w-100" alt="orange tree" />
{% endif %}