是否有可能通过在django中的URL查询文件?

问题描述:

如果我有一个由FileField组成的模型MyImages,有没有一种方法可以通过文件的URL查询它?我知道Django允许类似于:是否有可能通过在django中的URL查询文件?

my_image.file.url 

但我不确定URL是否可以在FileField中进行查询。谢谢!

+0

你的意思是你想通过它的URL找到一个文件? – 2012-08-16 02:39:06

+0

是的,(一个文件是模型的一部分) – zallarak 2012-08-16 02:42:16

+0

没有内建的方法,你将不得不遍历你的对象并单独检查url。显然不适合大量物体。所以考虑一种不同的方法。 – 2012-08-16 02:45:12

您可以在您的模型中创建一个url字段并覆盖save方法将其设置为file.url,以便您可以通过此URL查询您的模型。

class MyModel(model.Model): 
    image=models.ImageField(upload_to='folder') 
    url=models.CharField(...) 


    def save(self, *args, **kwargs): 
     self.url = self.image.url 
     super(Model, self).save(*args, **kwargs) 

然后你做URL字段隐藏在形式 (设置编辑=假型号场。其结果是,从通过的ModelForm模型创建任何形式将不包括该字段。More info here