Python 模型应该包含哪些方法

Python 模型应该包含哪些方法,python,django,python-3.x,design-patterns,model,Python,Django,Python 3.x,Design Patterns,Model,当我有了一个模型汽车,用户可以将一张图片上传到该模型时,我可以在Django中创建一个属性图像文件。现在我还想从这个文件中获取元数据,并将它们保存到数据库中 现在我很不确定我应该把这个方法放在哪里,我应该如何设计它。很明显,有一个像\u set\u exifdata()或\u update\u exifdata()这样的方法,每次我为模型设置图像时都会调用它 或者一个方法get_exifdata(imagefile),它返回exifdata的dict。但是,这种方法应该成为汽车模型的一部分吗?实

当我有了一个模型
汽车
,用户可以将一张图片上传到该模型时,我可以在Django中创建一个属性
图像文件
。现在我还想从这个文件中获取元数据,并将它们保存到数据库中

现在我很不确定我应该把这个方法放在哪里,我应该如何设计它。很明显,有一个像
\u set\u exifdata()
\u update\u exifdata()
这样的方法,每次我为模型设置图像时都会调用它

或者一个方法
get_exifdata(imagefile)
,它返回exifdata的dict。但是,这种方法应该成为汽车模型的一部分吗?实际上,我在其他任何地方都不需要它,所以将它放在通用助手类中是没有意义的。但另一方面,我更喜欢在“检索数据”和“设置数据”中拆分方法,因此,例如,
\u update\u exif()
可以一次完成这两项工作,也许在设计方式上这是可以的,但可能不是,我应该知道并尊重一些模型设计规则


我希望有人能为我提供一些关于模型设计(尤其是django)的指导,以及哪些方法应该是方法的一部分,哪些不应该是方法的一部分。

如果您仅用于汽车,那么您可以将该值放入模型保存方法中, 每次更新数据时,都会收到呼叫