首页 > 解决方案 > Django:在保存前修改模型的字段

问题描述

我有一个带有 ImageField 和 FileField 的模型course,所以我想在每次用户创建课程时创建一个文件夹。我想我可以在保存模型之前做到这一点,所以这是我的问题。

如何在方法中访问模型的字段?

模型.py

Class Course(models.Model):
 Thumbnail = model.ImageField(upload_to=“...”,...)

    def save(self, *args, **kwargd):
        ... #How can I alter here the ImageField parameters?
          super().save(*args, **kwargs)

标签: pythondjangodjango-models

解决方案


请参阅此处获取模型的字段。

要获取对象实例的字段,那么它应该是

def save(self, *args, **kwargs):
     #### How can I alter here the ImageField parameters?
     self.Thumbnail = #do whatever you want here
     super().save(*args, **kwargs)

不可能在方法中更改字段的参数。它只能在字段定义中完成,因为必须先保存模型


推荐阅读