使用 Python 从 0 开发属于你的个人管理系统 23 | 实现你需求前的模型建立

相信你已经通过自己的「折腾」,把你的页面创建成你想要的样子了,也就是,你把你的需求表达出来了,现在看起来,是不是对自己的需求清晰了很多?只有你真的自己一点点「表达」出来,你才会知道哪些是完全没必要实现的,哪些需求是最重要的。

好,当你把需求表达出来之后,下一步该干嘛呢?

两个字:对象!

也就是,从你已经得到的清晰需求中,从中把对象提取出来,然后找出它们之间的关系,最后把数据模型建立起来。

接下来我继续用上篇的「拆分任务」功能为例子给你演示。

提取对象

什么是对象还记得吧?对象是类的实例,它有属于自己的方法和属性。

如何提取对象呢?

你只要把你的功能描述一遍,你就能够看到「对象」。比如:

用户可以创建一个大计划,用户可以在这个大计划里面创建一些小计划。用户创建计划的时间可以被统计,计划可以被修改状态等。

从第一句话中,你就可以看到对象无非这么几个:

用户

大计划

小计划

至于第二句话,只不过是对象所属的行为,对吧?这些行为属性你可以自己进一步挖掘,比如:

用户:

  • 用户名称
  • 密码
  • 注册时间

大计划:

  • 计划内容
  • 创建时间
  • 谁创建的

小计划:

  • 计划内容
  • 哪个大计划下的
  • 谁创建的
  • 创建时间
  • 是不是完成了
  • 完成的时间
  • ….

咦~是不是弄个表来更好地体现它们呢?

确定对象之间的关系

你把对象列出来之后,接下来要确定它们之间的关系,也就是:「谁创建的」、「属于哪个计划的」…,慢慢想,你会得出结论:

本文隐藏内容 登陆 后才可以浏览
在 SubPlan 类中添加与用户和大计划的约束:

user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
plan_id = db.Column(db.Integer, db.ForeignKey("plan.id"))

这样,我们的模型就创建完成了。

PS:关于 MySQL 的使用,我到时会创建一个分类专门给你从基础讲起,现在,你要理解整个思考过程,遇到不懂的,搜索引擎去查,比如上述提到的一对多关系,也许会涉及到你尚未了解的「外键」使用。

一定要去实践,要不然看了是没用的。实践过程慢慢来不着急,一天进步一点点就很好了。

那么我们下回见,peace!

发表回复