Как сделать динамический путь к источнику 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)

но я не уверен, что это работает, я не тестировал это.

Вернуться на верх