python - django在upload_to参数上获取字段名
问题描述
我的模型:
class SampleImage(models.Model):
image1 = models.ImageField(upload_to=image_path)
image2 = models.ImageField(upload_to=image_path)
我在 image1 上的 upload_to 方法:
def image_path(instance, filename):
ext = filename.split('.')[-1]
filename = "some_file_name" + ext
# Here is question. How can I get 'image1' field name programatically on image_path?
used_field_name = "image1" #It would be 'image1'
return os.path.join('photo/%s/%s' % (instance.__class__.__name__, used_field_name), filename)
如果字段名称是“image2”,used_field_name onimage_path
将是image2
如何获取image_path
使用位置的字段名称?
解决方案
https://docs.djangoproject.com/en/3.0/topics/files/#using-files-in-models
文档中的示例
class Car(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=5, decimal_places=2)
photo = models.ImageField(upload_to='cars')
>>> car.photo.name
'cars/chevy.jpg'
推荐阅读
- java - 如何防止使用 guice-persist 和 @Transactional 重用 EntityManager?
- python - 我有一个时间序列的体积图。想要将另一列数据框强加为虚线
- search - 使用自定义数据表搜索过滤器时如何检索过滤后的数据表项(作为数组)
- sql-server - Dump an MS SQL database as an SQL script like My SQL does
- anaconda - 如何在不降级 Python 且不从源代码构建枕头的情况下从 conda 安装枕头
- python - python:object.__dict__没有显示所有属性
- c++ - 具有本机消息传递和非持久连接的 Microsoft Edge 扩展不起作用
- excel - 突出显示列中的单元格,与它们正上方的单元格相同
- excel - How to get value of visible row data in specialCell(xlCellTypeVisible)
- sql-server - 如何在 SSIS 中的 OLE DB 源的存储过程执行中传递参数