使用 Python 从 0 开发属于你的个人管理系统 15 篇 | 个人计划功能之任务创建

现在我们的「个人计划」原型已经「画好了」,那么接下来就是通过代逻辑来实现它,首先我们来实现这个创建任务的部分:

从任务的创建过程中,我们来思考一下:

这样的任务功能,我们需要什么样的数据字段呢?

最主要的是:任务的内容,任务和用户之间的关联,以及任务是否完成的标志。

如果你想更加细致一些,还可以考虑任务创建的时间,完成的时间。

数据库的添加

在 model.py 中,创建 Todo 类,将字段定义好:


class Todo(db.Model):
    __tablename__ = 'todo'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.Text)
    is_done = db.Column(db.Boolean, default=False)
    create_time = db.Column(db.DateTime, index=True, default=datetime.now)
    done_time = db.Column(db.DateTime, index=True)

数据库中的关系创建

什么是关系?

你可以想一下,一个用户,是不是可以关联很多他自己创建的任务?

而这种一对多的关系,我们可以使用数据库的外键进行约束,我们可以在刚刚创建的 Todo 类中,添加约束:


class Todo(db.Model):
    __tablename__ = 'todo'
    id = db.Column(db.Integer, primary_key=True)
    description = db.Column(db.Text)
    is_done = db.Column(db.Boolean, default=False)
    create_time = db.Column(db.DateTime, index=True, default=datetime.now)
    done_time = db.Column(db.DateTime, index=True)
    user_id = db.Column(db.Integer, db.ForeignKey('my_user.id')) # 添加约束

而我们之前创建的 User 类:


class User(db.Model):
    __tablename__ = 'my_user'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(30), nullable=False)
    admin_password = db.Column(db.String(120), nullable=False)

可以使用

本文隐藏内容 登陆 后才可以浏览
这里我们将得到的任务数据获取后,生成数据对象并添加到数据库。

我们来运行一下,登录入系统,进入任务页面,创建如下任务信息:

按下回车提交,这时候我们看看数据库是否有信息:

OK,那么任务创建的过程就是这样啦,还有一些细节我们可以后面慢慢优化,现在你可以将任务列表数据展示到页面中嘛?我们下回见,peace!

发表回复