python - 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)
解决方案
请参阅此处获取模型的字段。
要获取对象实例的字段,那么它应该是
def save(self, *args, **kwargs):
#### How can I alter here the ImageField parameters?
self.Thumbnail = #do whatever you want here
super().save(*args, **kwargs)
不可能在方法中更改字段的参数。它只能在字段定义中完成,因为必须先保存模型
推荐阅读
- python - 如何训练 conll-u 格式的数据?
- sql - 如果列名不同,WHERE IN 语句为什么或如何工作?
- go - 去,如何导入其他包的结构和字段?
- python - 为什么在这种情况下列表索引超出范围?
- javascript - 如何从 API 响应操作中删除数组值之间的昏迷?
- postgresql - 使用文件头将 CSV 文件导入 PostgreSQL
- javascript - 如何修改 angularjs 嵌入元素?
- typescript - Typescript 类型在具有附加属性时引发错误
- javascript - 如何从 Vue.js 中的 HTML 元素获取 id
- javascript - 代码结构 - 如何将文件(JS、PHP 等)包含在 HTML 中