Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 一对多SQL关系 我试图在项目表和报告表之间建立一对多关系 用户可以创建新项目,稍后他可以创建一个或多个与该项目相关的新报告 这两个表格将用于报告问题。例如,如果我构建了一个新应用程序,我将创建一个包含我的应用程序名称的新项目。然后,当我在PC或iPhone等特定设备上测试我的应用程序时,我遇到了一个问题,我将创建一个关于这个问题的新报告_Python 2.7_Flask_Flask Sqlalchemy - Fatal编程技术网

Python 2.7 一对多SQL关系 我试图在项目表和报告表之间建立一对多关系 用户可以创建新项目,稍后他可以创建一个或多个与该项目相关的新报告 这两个表格将用于报告问题。例如,如果我构建了一个新应用程序,我将创建一个包含我的应用程序名称的新项目。然后,当我在PC或iPhone等特定设备上测试我的应用程序时,我遇到了一个问题,我将创建一个关于这个问题的新报告

Python 2.7 一对多SQL关系 我试图在项目表和报告表之间建立一对多关系 用户可以创建新项目,稍后他可以创建一个或多个与该项目相关的新报告 这两个表格将用于报告问题。例如,如果我构建了一个新应用程序,我将创建一个包含我的应用程序名称的新项目。然后,当我在PC或iPhone等特定设备上测试我的应用程序时,我遇到了一个问题,我将创建一个关于这个问题的新报告,python-2.7,flask,flask-sqlalchemy,Python 2.7,Flask,Flask Sqlalchemy,问题: 两个表之间的一对多关系是否正确 这里真的需要init函数吗?我在网上看到一些没有它们的代码 非常感谢您init函数就在那里,这样您就可以在创建类的实例时设置起始值或执行初始化函数。如果您觉得不需要这样做,可以省略init定义。包括创建一对多关系。它提供了一个示例,说明一个人拥有多个地址 class Person(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Strin

问题:

  • 两个表之间的一对多关系是否正确

  • 这里真的需要init函数吗?我在网上看到一些没有它们的代码


  • 非常感谢您

    init函数就在那里,这样您就可以在创建类的实例时设置起始值或执行初始化函数。如果您觉得不需要这样做,可以省略init定义。

    包括创建一对多关系。它提供了一个示例,说明一个人拥有多个地址

    class Person(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(50))
        addresses = db.relationship('Address', backref='person',
                                    lazy='dynamic')
    
    class Address(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(50))
        person_id = db.Column(db.Integer, db.ForeignKey('person.id'))
    
    这和你的相符。唯一的区别是示例将关系放置在父模型上。它可以放置在任一模型上。我总是试着把它放在最有意义的地方

    至于您的
    \uuuu init\uuuu
    方法,它们很可能是不必要的。Flask SQLAlchemy的
    模型
    类有一个
    \uuuu init\uuuu
    接受关键字参数,允许您为列赋值。不同之处在于,您的版本需要指定的字段,而默认版本不需要任何字段

    你的版本只能作为

    project = Project('My Project', date(2015, 4, 23))
    
    Model
    的版本不仅以同样的方式工作,而且还可以作为

    project = Project()
    project.name = 'My Project'
    project.date = date(2015, 4, 23)
    

    >如果您觉得不需要做这些事情,可以省略init定义。谢谢你Rohn,这帮了你的忙你太棒了@dirn.>唯一的区别是示例将关系放置在父模型上。它可以放置在任一模型上。这就是原因!我在搜索时看到了这个人的地址示例,但后来我看到了其他一对多关系示例,它们在关系行中有所不同,这让我感到困惑。非常感谢。
    project = Project()
    project.name = 'My Project'
    project.date = date(2015, 4, 23)