Я хотел бы реализовать функциональность в своем приложении, но я не знаю, как это сделать. Я хочу это: у меня есть модельный класс, который использует imagekit для сохранения его изображений, и я хотел бы, чтобы пользователи могли легко обновлять изображения для транспортных средств без необходимости редактировать каждую соответствующую запись транспортного средства.Автоматическое обновление изображений
Как они будут делать это в том, что там будет папка с именем originals
, и она будет содержать папки для каждого транспортного средства в формате <stock_number>/PUBLIC
Если пользователь перемещает изображения в папку PUBLIC
для транспортного средства, когда сценарий выполняются , он будет сравнивать эти изображения с текущими и обновлять их, если те, что находятся в папке PUBLIC
, новее. Если в записи нет изображений, они будут добавлены. Кроме того, если изображения были удалены из каталога site_media, их ссылки должны быть удалены из базы данных.
Как я могу это сделать эффективным образом? Мои модели, как показано ниже:
class Photo(ImageModel):
name = models.CharField(max_length = 100)
original_image = models.ImageField(upload_to = 'photos')
num_views = models.PositiveIntegerField(editable = False, default=0)
position = models.ForeignKey(PhotoPosition)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
class IKOptions:
spec_module = 'vehicles.specs'
cache_dir = 'photos'
image_field = 'original_image'
save_count_as = 'num_views'
class Vehicle(models.Model):
objects = VehicleManager()
stock_number = models.CharField(max_length=6, blank=False, unique=True)
vin = models.CharField(max_length=17, blank=False)
....
images = generic.GenericRelation('Photo', blank=True, null=True)
Update Progress Я опробовал код, и в то время как он работает, я что-то не хватает, как я могу получить изображение, но после этого, они Арен» t передано в каталог site_media/photos
... Я предположил, что это или imagekit
сделает это автоматически? Я немного смущен.
Я спасаю фотографий так:
Photo.objects.create(content_object = vehicle, object_id = vehicle.id,
original_image = file)
Не могли бы вы прояснить этот вопрос? Это о написании сценария обновления или о том, как его запустить? Вы измеряете «эффективный способ» делать вещи; у вас есть что-то, что работает (даже частично) и ищет более эффективный алгоритм? –
Это больше написания сценария ... Я полностью застрял в том, как это сделать, и мне понадобится помощь в этом. Любые идеи полностью приветствуются. – Stephen