У меня есть метод публикации в views.py:
def post(self, request):
author = User.objects.get(id=request.data.get('user_id'))
new_article = Article.objects.create(author=author, title=request.data.get('title'),
text=request.data.get('text'),img=File(request.data.get('image[0]')))
new_article.save()
for i in range(20):
img_key = 'image[{}]'.format(i)
img = request.data.get(img_key)
if img:
article_img = ArticleImage(article=new_article,img=File(img), is_main=False )
article_img.save()
else :
break
images = ArticleImage.objects.filter(article=new_article)
return Response({
'article': ArticleSerializer(new_article, context=self.get_serializer_context()).data
})
Создает новую статью, которая содержит файлы img. Файлы изображений я сохраняю в ведре AWS S3. Сохранение основного изображения статьи с использованием метода new_article.save () работает нормально, но article_img.save () возвращает ошибку:
** Файл "C: \ Users \ Arcvi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ storages \ backends \ s3boto3.py", строка 520, в _save_content
content.seek (0, os.SEEK_SET) *
*** ValueError: операция ввода / вывода для закрытого файла. ****
Думаю, я что-то не так делаю в цикле for. Если вам нужна дополнительная информация о коде, я поделюсь им. Пожалуйста, помогите.