使用 Python 从 0 开发属于你的个人管理系统 23 | 实现你需求前的模型建立
相信你已经通过自己的「折腾」,把你的页面创建成你想要的样子了,也就是,你把你的需求表达出来了,现在看起来,是不是对自己的需求清晰了很多?只有你真的自己一点点「表达」出来,你才会知道哪些是完全没必要实现的,哪些需求是最重要的。
好,当你把需求表达出来之后,下一步该干嘛呢?
两个字:对象!
也就是,从你已经得到的清晰需求中,从中把对象提取出来,然后找出它们之间的关系,最后把数据模型建立起来。
接下来我继续用上篇的「拆分任务」功能为例子给你演示。

通往 Python 高手之路
提取对象
什么是对象还记得吧?对象是类的实例,它有属于自己的方法和属性。
如何提取对象呢?
你只要把你的功能描述一遍,你就能够看到「对象」。比如:
用户可以创建一个大计划,用户可以在这个大计划里面创建一些小计划。用户创建计划的时间可以被统计,计划可以被修改状态等。
从第一句话中,你就可以看到对象无非这么几个:
用户
大计划
小计划
至于第二句话,只不过是对象所属的行为,对吧?这些行为属性你可以自己进一步挖掘,比如:
用户:
- 用户名称
- 密码
- 注册时间
- …
大计划:
- 计划内容
- 创建时间
- 谁创建的
- …
小计划:
- 计划内容
- 哪个大计划下的
- 谁创建的
- 创建时间
- 是不是完成了
- 完成的时间
- ….
咦~是不是弄个表来更好地体现它们呢?

确定对象之间的关系
你把对象列出来之后,接下来要确定它们之间的关系,也就是:「谁创建的」、「属于哪个计划的」…,慢慢想,你会得出结论:
本文隐藏内容 登陆 后才可以浏览
在 SubPlan 类中添加与用户和大计划的约束:
user_id = db.Column(db.Integer, db.ForeignKey("user.id")) plan_id = db.Column(db.Integer, db.ForeignKey("plan.id"))
这样,我们的模型就创建完成了。
PS:关于 MySQL 的使用,我到时会创建一个分类专门给你从基础讲起,现在,你要理解整个思考过程,遇到不懂的,搜索引擎去查,比如上述提到的一对多关系,也许会涉及到你尚未了解的「外键」使用。
一定要去实践,要不然看了是没用的。实践过程慢慢来不着急,一天进步一点点就很好了。
那么我们下回见,peace!