В настоящее время я хочу создать файл в папке MEDIA_ROOT и сохранить его в FileField. Я искал на веб-сайте SO, попробовал метод на django-how-to-create-a-file-and-save-it-to-a-models-filefield и другие, но, похоже, он сохранил абсолютный путь в моей базе данных.
Моя модель
class Voice(models.Model):
xxx other field
textFile = models.FileField(null=True,blank=True,default=None,upload_to='text_file', unique=True)
Обновите поле textFile следующим образом:
@receiver(post_save, sender=Voice)
def create_text(sender,**kwargs):
xxx
f = open(settings.MEDIA_ROOT + '/text_file/'+ text_file,'w')
queryset = Voice.objects.all()
queryset.filter(pk=voice.pk).update(textFile=File(f))
f.close()
И я нахожу, что в БД сохраняется что-то вроде этого: textFile: http://127.0.0.1:8000/media/Users/usersxxx/Documents/xxx/media/text_file/t5
в то время как не:
http://127.0.0.1:8000/медиа/текстовый_файл/t5,
settings.MEDIA_ROOT
? - person JPG   schedule 20.09.2020