我正在学习 Flask,我想创建一个数据库,其中包含 3 个相互关联的表:
公司:有关我工作的公司的信息(编造:))
工作:关于我在每家公司担任的角色的信息
任务:有关我在每家公司的每份工作中的任务的信息。
这是代码:
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///work_experience.db'
db = SQLAlchemy(app)
class Company(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
start_date = db.Column(db.DateTime, nullable=False)
end_date = db.Column(db.DateTime, nullable=False, default=None)
location = db.Column(db.String(20), nullable=False, default='N/A')
jobs = db.relationship('Job', backref='company_')
class Job(db.Model):
id = db.Column(db.Integer, primary_key=True)
position = db.Column(db.String(100), nullable=False)
start_date = db.Column(db.DateTime, nullable=False)
end_date = db.Column(db.DateTime, nullable=False)
company_id = db.Column(db.Integer, db.ForeignKey('company.id'))
tasks = db.relationship('Task', backref='job_')
class Task(db.Model):
id = db.Column(db.Integer, primary_key=True)
description = db.Column(db.String(100), nullable=False)
start_date = db.Column(db.DateTime, nullable=False)
end_date = db.Column(db.DateTime, nullable=False)
job_id = db.Column(db.Integer, db.ForeignKey('job.id'))
db.create_all()
我的想法是有一个 for 循环(最终我将用 Jinja2 编写,但现在 python 代码很好),这样我就可以为每个公司打印我的工作和我完成的任务。当然,我可以将所有数据都放在一张表中,但我正在努力学习。
因此输出应该是这样的:
for company in Companies:
for job in Jobs:
for Task in Tasks:
print(company, job, task)
你能建议我一个聪明而优雅的方式来实现我的目标吗?提前致谢。
qq_遁去的一_1
相关分类