Я пытаюсь создать медиапост с загрузкой нескольких файлов. Это мой код для views.py.
@login_required()
def CreateMediaPost(request):
if request.method == 'POST':
postForm = MediaPostForm(request.POST)
files = request.FILES.getlist('media')
print(files)
if postForm.is_valid():
post_form = postForm.save(commit=False)
post_form.postedBy = request.user
post_form.save()
for file in files:
upload = FileUpload()
upload.mediaPost = post_form
upload.media = file
upload.save()
print(upload)
messages.success(request, "Post submitted")
return redirect("create-media-post")
else:
print(postForm.errors)
else:
postForm = MediaPostForm()
upload = FileUploadForm()
return render(request, 'forms/mediapost.html',{'postForm': postForm,'fileUpload':upload})
Models.py
class MediaPost(models.Model):
title = models.CharField(max_length=50)
content = models.CharField(max_length=150)
postedBy = models.ForeignKey(User, on_delete=models.CASCADE)
category = models.ForeignKey(CategoryPost, on_delete=models.CASCADE)
type = models.ForeignKey(TypeMediaPost, on_delete=models.CASCADE)
tags = TaggableManager()
def get_filename(object, filename):
postId = object.MediaPost.id
return "postMedia/%s" % postId
class FileUpload(models.Model):
mediaPost = models.ForeignKey(MediaPost, on_delete=models.CASCADE)
media = models.FileField(upload_to=get_filename, verbose_name='Media')
при получении ошибки атрибута для модели загрузки файла при отправке формы
Пожалуйста, помогите мне устранить эту ошибку или предложите лучший способ загрузки нескольких файлов. Кроме метода modelformset_factory.