模型应该包含哪些方法

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

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

【讨论】:

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

是或否:MVC 中的模型是不是应该包含应用程序逻辑?

html5哪些属性用于定义盒子的宽度值和高度值是不是包含元素的内边距和边框

大数据课程基础内容都应该包含哪些

c++ 库的公共头文件中应该包含哪些内容?

在 MVVM 设计模式中,模型是不是应该包含其他模型?

UML-交互图包含哪些图?