【发布时间】:2019-03-17 19:15:45
【问题描述】:
当我有一个模型Car 供用户上传单张图片时,我可以在Django 中创建一个属性ImageFile 来实现这一点。现在我还想从这个文件中获取元数据并将它们保存到数据库中。
现在我很不确定我应该把这个方法放在哪里以及我应该如何设计它。很明显,每次我为模型设置图像时都会调用像 _set_exifdata() 或 _update_exifdata() 这样的方法。
或返回 exifdata 字典的方法 get_exifdata(imagefile)。但是这个方法应该是 Car 模型的一部分吗?实际上,我在其他任何地方都不需要它,所以把它放在一个通用的助手类中是没有意义的。但另一方面,我更喜欢将方法拆分为“检索数据”和“设置数据”,因此 _update_exif() 会同时完成这两项工作,这在设计方式上可能没问题,但也许不是这里有一些模型设计规则我应该知道并尊重。
我希望有人可以帮助我提供一些模型设计指南(尤其是对于 django)以及哪些方法应该是方法的一部分,哪些不应该。
【问题讨论】:
标签: python django python-3.x design-patterns model