Как сделать динамический путь к источнику FileFieldPath в django?
Info: Я пытаюсь использовать FileFieldPath в django. Я хочу сделать FileFieldPath(path=dynamic). Я хочу, чтобы у каждого пользователя был свой путь к каталогу для выбора файла. Есть ли способ, чтобы пользователь мог определить свой путь из админки django?
class SourcePath(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
source = models.CharField(max_length=255)
class Articles(models.Model):
post_by = models.ForeignKey(User, on_delete=models.CASCADE)
file_path = models.FilePathField(path=SourcePath.source)
Вы можете добавить поле пути и пользователь может сохранить путь в этом поле, а ваша модель может использовать его для пути. Вот пример :
class Articles(models.Model):
post_by = models.ForeignKey(User, on_delete=models.CASCADE)
path = models.CharField(max_length=255)
file_path = models.FilePathField(path=self.path)
попытайтесь установить значение пути как вызываемую функцию
def get_path(instance, filename):
return "site_media/jobs/%s_%s/%s" % (instance.client, instance.job_number, filename)
class Articles(models.Model):
....
file_path= models.FilePathField(path=get_path, match=".*\.pdf$", recursive=True)
но я не уверен, что это работает, я не тестировал это.