Я начинающий программист, создающий веб-приложение Django, которое отправляется в кучу мест в интернете и ищет рекламные объявления.Вот сокращенная версия моей модели объявления:
class Ad(models.Model):
...
pic = models.ImageField(upload_to='photos/', blank=True)
Моя задача сельдерея создает эти модели объявлений и сохраняет их в базе данных вместе с изображениями.Задача (снова сокращенная) выглядит следующим образом:
class DownloadAds(PeriodicTask):
run_every=timedelta(minutes = 5)
def run(self, **kwargs):
logger = self.get_logger(**kwargs)
logger.info("Downloading ads.")
a1 = Ad(...)
a1.save()
name = image_urls[b] # url for image
result = urllib.urlretrieve(name)
a1.pic.save(
os.path.basename(name),
File(open(result[0]))
)
Код в настоящее время работает так, как задумано, но он загружает каждое изображение, которое встречает, независимо от того, имеется ли оно в базе данных или нет.Чтобы избежать будущих проблем с пространством, я хочу реализовать хеширование изображений, но я не совсем уверен, как это сделать.Любой совет / направление будет высоко ценится!Спасибо!