Django ImageField覆盖文件冲突代码

时间:2009-09-10 16:55:20

标签: django django-models

我想在模型中有2个ImageField。

  1. 是用户上传图片的那个
  2. 是我们拥有该图像副本但使用相同文件的那个。
  3. 注意:我正在简化两个字段的原因。

    除了创建一个新的ImageField字段类型之外,当我们以编程方式分配第二个字段时,有没有办法阻止ImageField向文件名中添加_?

    此致

    标记

2 个答案:

答案 0 :(得分:0)

你是否有充分的理由不使用文件字段进行第二次输入?听起来你并没有像第二个项目那样使用图像字段的细节(即管理员验证它是上传的图像)。如果您在代码中出于某种原因需要将其作为图像字段,则可以将其转换为...

我假设您已将第二个字段设置为隐藏在管理界面中?

答案 1 :(得分:0)

我知道你说“除了创建一个新的ImageField类型”,但我想这样做的最好方法就是做到这一点,override the get_filename method {{1} (FileField显然是子类)。

除此之外,还可以创建自己的ImageFieldStorage)子类,您可以将django.core.files.storage参数传递给模式中的storage 。您需要覆盖那里的get_valid_name method。需要注意的是,实际的下划线来自get_valid_filename method in django.utils.text

但是,我确实没有对ImageField进行子类化以提供必要的功能。