【发布时间】:2009-09-10 16:55:20
【问题描述】:
我想在一个模型中有 2 个 ImageField。
- 是用户上传图片的地方
- 我们拥有该图像的副本,但使用相同的文件。
注意:我简化了这两个字段的原因。
当我们以编程方式分配第二个字段时,除了创建新的 ImageField 字段类型之外,还有什么方法可以阻止 ImageField 在文件名中添加 _?
问候
标记
【问题讨论】:
标签: django django-models
我想在一个模型中有 2 个 ImageField。
注意:我简化了这两个字段的原因。
当我们以编程方式分配第二个字段时,除了创建新的 ImageField 字段类型之外,还有什么方法可以阻止 ImageField 在文件名中添加 _?
问候
标记
【问题讨论】:
标签: django django-models
您没有为第二个条目使用文件字段是否有充分的理由?听起来您并没有为第二个项目使用图像字段的细节(即管理员验证它是上传时的图像)。如果您出于某种原因在代码中需要它成为图像字段,您可以将其转换为...
我假设您已在管理界面中将第二个字段设置为隐藏?
【讨论】:
我知道你说“除了创建一个新的 ImageField 类型”,但我想最好的方法就是这样做,以及 FileField 中的 override the get_filename method(其中 @987654327 @ 显然是子类)。
除此之外,您还可以创建自己的Storage (django.core.files.storage) 子类,在您的模式下,您可以将其作为storage 参数传递给ImageField。您需要在那里覆盖get_valid_name method。需要注意的是,实际的下划线来自get_valid_filename method in django.utils.text。
不过,我真的不知道将 ImageField 子类化以提供必要的功能有什么问题。
【讨论】: