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