我有一个带有 FileField 的模型和一个带有 FileField 的表单。该表单不是基于模型的 ModelForm,而是常规表单。
如何将上传的文件从表单保存到模型?
好的,这就是我想要的:
from django.core.files.base import ContentFile
def save_file(request):
mymodel = MyModel.objects.get(id=1)
file_content = ContentFile(request.FILES['video'].read())
mymodel.video.save(request.FILES['video'].name, file_content)
在这里找到了一个很好的解释。
如果你的模型是
class Thing(models.Model):
document = models.FileField(upload_to='documents')
你可以简单地做
thing = Thing()
thing.document = request.FILES['Filedata']
thing.save()