Django Filefield或imagefield - 检查与另一个图像或文件的相等性

时间:2014-11-20 13:11:00

标签: django django-orm django-models django-file-upload

我有一个带有ImageField的模型,数据库中有大约100个模型实例。其中一些实例具有相同的位图图像(但保存在不同的路径位置,path = obj.first_name + obj.date_of_creation)。

我想运行搜索所有obj.images,如果内容(位图意义上)与新图像(我将指定)相同,我想替换obj。图像与新图像。如何在Django中检查文件级/位图级别的这种相等性?

由于

1 个答案:

答案 0 :(得分:0)

唯一真正的方法是生成每个文件的哈希值,并查找匹配的哈希值。您可以在模型上添加另一个字段来存储图像哈希。然后运行已有的所有图像,生成哈希值,然后处理哈希值匹配的图像。

您可以在此处查看如何进行此哈希:How to get the filesize and SHA-1 digest of an uploaded file?