django - 我可以在 django 模型中指定一个从某个值派生的上传文件夹吗?
问题描述
我在 Django 中有一个模型,它的字段指定如下:
file = models.FileField(upload_to='data')
我想根据该实例具有的另一个字段的外键指定一个文件夹。这可能吗?例如,我可以使用类似的东西吗
file = models.FileField(upload_to='{}/uploads/'.format(self.category.upper()))
我还没有尝试过任何东西。
解决方案
您可以定义一个生成路径名的函数,而不是直接传递名称:
def generate_filename(self, filename):
name = "%s/uploads/%s" % (self.category.upper(), filename)
return name
然后您可以将 upload_to 字段更改为:
file = models.FileField(upload_to=generate_filename)
推荐阅读
- php - 为什么 exec() 默默地丢弃字节?
- java - 尝试从不同类调用函数时应用程序崩溃
- javascript - React - 节流/去抖动微调器(加载消息) - 不显示请求是否快于 X 毫秒
- ruby-on-rails - Ruby on Rails:无法激活 tmail
- sql - SQL UPDATE 语句以随机顺序在多行之间切换值
- tensorflow - 如何将 Graph Transform Tool 与通过估算器 API 导出的已保存模型一起使用
- excel - 在 Excel VBA 中指示一组函数调用已完成
- javascript - 让 React 组件知道它们是从哪里导入的
- c# - 如果使用从方法返回的 lambda,为什么事件取消订阅会起作用(“不泄漏”)?
- xml - 为 XML 片段设置 BindingContext