【发布时间】:2015-04-23 20:58:45
【问题描述】:
- 我正在尝试在 Project 表和 Report 表之间建立一对多的关系。
- 用户可以创建新项目,之后他可以创建一个或多个与该项目相关的新报告。
- 这两个表将用于报告问题。例如,如果我构建一个新应用程序,我将创建一个包含我的应用程序名称的新项目。稍后,当我在特定设备(如 PC 或 iPhone)上测试我的应用时遇到问题,我将创建一份关于该问题的新报告。
class Project(db.Model):
project_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String)
date = db.Column(db.Date)
def __init__(self, name, date):
self.name = name
self.date = date
def __repr__(self):
return self.name
class Report(db.Model):
report_id = db.Column(db.Integer, primary_key=True)
project_id = db.Column(db.Integer, db.ForeignKey('project.project_id'))
project = db.relationship('Report', backref='reports', lazy='dynamic')
date = db.Column(db.Date)
issue = db.Column(db.Text)
def __init__(self, project_id, date, issue):
self.project_id = project_id
self.date = date
self.issue = issue
def __repr__(self):
return self.issue
问题:
两个表之间的连接是否正确为一对多关系?
这里真的需要 init 函数吗?我在网上看到了一些没有它们的代码!
非常感谢
【问题讨论】:
标签: python-2.7 flask flask-sqlalchemy