获取Django中模型实例的FileField的绝对文件路径

Kot*_*boy 6 django absolute-path filepath filefield

我有一个页面,人们可以将文件上传到我的服务器.

我想对Celery中的文件做一些事情.所以,我需要知道我的模型的上传FileFiled的绝对文件路径.

假设我查询了模型并得到了实例.现在我需要获取包含文件路径的绝对文件路径.

obj = Audio.objects.get(pk=1)

我正在尝试obj.filename,它只打印文件名而不是绝对路径.

我知道我可以获得我输入的上传路径upload_to和媒体目录,但我想知道是否有更多的干和自动方法.

我如何获得absolute pathfile,其提供的文件归档obj

Kot*_*boy 21

找到答案.

我必须做一个.pathFileField

如果我做

obj.audio_file.path 
Run Code Online (Sandbox Code Playgroud)

obj是我查询的模型实例,audio_file是文件字段

  • @decadenza,在此处检查 FileField 类的 `deconstruct` 方法 https://docs.djangoproject.com/en/2.2/_modules/django/db/models/fields/files/#FileField (2认同)
  • 也许这会有所帮助:https://docs.djangoproject.com/en/3.0/topics/files/#using-files-in-models (2认同)