Когда у меня есть модель Car
, в которую пользователи могут загрузить одно изображение, я могу создать свойство ImageFile
в Django для достижения этой цели.Теперь я также хотел бы получить метаданные из этого файла и сохранить их в базе данных.
Теперь я очень не уверен, где мне следует разместить этот метод так, как я должен его проектировать.Было бы очевидно иметь такой метод, как _set_exifdata()
или _update_exifdata()
, который вызывается каждый раз, когда я устанавливаю Image для модели.
Или метод get_exifdata(imagefile)
, который возвращает слово exifdatas.Но должен ли этот метод быть частью модели автомобиля?На самом деле, он мне больше нигде не понадобится, поэтому нет смысла помещать его в общий вспомогательный класс.Но с другой стороны, я бы предпочел разделить методы в «извлечении данных» и «настройке данных», так что, например, _update_exif()
может выполнить оба действия за один раз, и, возможно, это нормально при проектировании, но, возможно, это не так иЕсть некоторые правила проектирования моделей, которые я должен знать и соблюдать здесь.
Я надеюсь, что кто-то может помочь мне с некоторыми рекомендациями по проектированию моделей (особенно для django), и какие методы должны быть частью методов, а какие - нет.