模型应该包含哪些方法

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】:

如果您仅用于汽车,则可以将该值放入模型保存方法中, 每次更新数据时都会调用它。

【讨论】:

以上是关于模型应该包含哪些方法的主要内容,如果未能解决你的问题,请参考以下文章