Django ModelForm - models.FileField или models.FilePathField - получить абсолютный путь к файлу без загрузки файла - PullRequest
0 голосов
/ 18 июня 2020

У меня есть Django ModelForm, и я пытаюсь найти способ создать поле формы, где пользователь может выбрать файл из локальной файловой системы, а форма будет извлекать и сохранять абсолютный путь к файлу.

В идеале это должно работать так же, как и models.FileField, но вместо фактической загрузки файла при отправке формы форма просто записывает абсолютный путь к файлу.

Я попытался создать FileField, используя «None»

file_location = models.FileField(upload_to=None, 
                                max_length=300,)

Но установка upload_to=None не позволяет форме отправлять, это дает мне ошибку проверки - This field is required.

Я также пробовал создать поле как FilePathField

file_location = models.FilePathField(path="/tmp/",)

Это будет правильно записывать путь к файлу, но я не хочу иметь фиксированный путь root.

Есть ли другой способ заставить эту работу работать?

Почему я хочу это сделать?
Форма в каждом экземпляре записывает набор метаданных о конкретном c видеофайле. После сбора эти данные выталкиваются из django в виде CSV и используются в другом рабочем процессе. Это огромные видеофайлы, которые не предназначены для хранения Django, CSV просто нужно знать путь в локальной файловой системе, чтобы другие нижестоящие системы могли его найти.

...