Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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 使用Flask SQLAlchemy将值更新到数据库中_Python_Flask_Sqlalchemy - Fatal编程技术网

Python 使用Flask SQLAlchemy将值更新到数据库中

Python 使用Flask SQLAlchemy将值更新到数据库中,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,我有三张桌子 在models.py中 in views.py 在form.validate_On_submit()上,如何将值插入所有表? 我想将数据插入SaleDetails、PropertyDescription表,并获取它们的id。并插入这些 将值插入属性表,并将属性id插入PropertyDescription表 我首先将数据保存在属性对象property_obj中。然后 models.Property.save(property_obj) sales_obj = models.Sa

我有三张桌子

在models.py中 in views.py 在form.validate_On_submit()上,如何将值插入所有表? 我想将数据插入SaleDetails、PropertyDescription表,并获取它们的id。并插入这些 将值插入属性表,并将属性id插入PropertyDescription表

我首先将数据保存在属性对象property_obj中。然后

 models.Property.save(property_obj)
 sales_obj = models.SaleDetails(price=form.sale_details.data)
 prop_desc_obj = models.PropertyDescription(long_description=form.property_description.data,
                                                    property_id=models.Property.id)
    db.session.add_all(property_obj, sales_obj, prop_desc_obj)
    db.session.commit()
但我想我错过了什么。有了这段代码,我得到的错误如下 “对象与dict不同”

property()
是一个内置python函数。我建议不要隐藏内置函数,因为它们可能会导致不稳定的行为

另外,
models.Property.save(Property_obj)
正在使用大写字母p访问
Property
,而您的
Property
类使用小写字母

property_obj.save()
sales_obj = models.SaleDetails(price=form.sale_details.data)
prop_desc_obj = models.PropertyDescription(long_description=form.property_description.data,
                                                    property_id=property_obj.id)
db.session.add_all(property_obj, sales_obj, prop_desc_obj)
db.session.commit()

我的错误。它的属性。我已经编辑了我的问题。你是否应该先举例说明“财产”?并将其另存为对象,即。
my_property=property()my_property.save()
Yes。我已经做到了。。property_obj=models.property(zip=form.zip.data等)我正在从表单读取字段。我没有提到我问题中的所有领域,因为它们太多了。因此,我只提到了我面临的问题。
property\u id=models.property.id)
不引用
property\u obj
尝试将其设置为
property\u id=property\u obj.id
正确。这就是我面临的问题所在。我不知道如何引用新插入的行。我想在“property”表中插入新条目,它还应该通过引用其他表(例如sale_详细信息)插入id,我想在sale_详细信息中插入新行,并将property的id添加为外键。希望我的问题清楚?
property_obj.save()
sales_obj = models.SaleDetails(price=form.sale_details.data)
prop_desc_obj = models.PropertyDescription(long_description=form.property_description.data,
                                                    property_id=property_obj.id)
db.session.add_all(property_obj, sales_obj, prop_desc_obj)
db.session.commit()