django FileFIeld和ImageField 上传路径改写

def get_file_path(instance, filename):
    return 'file/document/%s/%s/%s' % (instance.period.code, instance.student.college.code, filename)


class Document(models.Model):
    title = models.CharField(max_length=50, blank=True, verbose_name="文档名", default="")
    student = models.ForeignKey('accounts.Student', verbose_name="学生")
    period = models.ForeignKey('systemconfig.Periods', verbose_name="阶段")
    file = models.FileField(upload_to=get_file_path, verbose_name="文档", blank=True, null=True)
    mark = models.SmallIntegerField(null=True, blank=True, verbose_name="标记")
    create_time = models.DateTimeField(verbose_name="添加时间", auto_now_add=True)

    class Meta:
        verbose_name = "学生报告文档"
        verbose_name_plural = "学生报告文档"

重点就是get_file_path

def get_file_path(instance, filename):
return 'file/document/%s/%s/%s' % (instance.period.code, instance.student.college.code, filename)


class Document(models.Model):
title = models.CharField(max_length=50, blank=True, verbose_name="文档名", default="")
student = models.ForeignKey('accounts.Student', verbose_name="学生")
period = models.ForeignKey('systemconfig.Periods', verbose_name="阶段")
file = models.FileField(upload_to=get_file_path, verbose_name="文档", blank=True, null=True)
mark = models.SmallIntegerField(null=True, blank=True, verbose_name="标记")
create_time = models.DateTimeField(verbose_name="添加时间", auto_now_add=True)

class Meta:
verbose_name = "学生报告文档"
verbose_name_plural = "学生报告文档"

转载于:https://www.cnblogs.com/tuifeideyouran/p/4384522.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值