我是flask的初学者,正在构建一个基于flask的web应用程序。 我正在使用flask sqlalchemy连接到我的sqlite数据库。你知道吗
当我从表单导入数据并将其写入数据库时,“Pear”模型中的“apple\u id”列中的每个条目都包含NULL。它应该有“苹果”入口的ID。其他数据如我所料。 两个表有一对多的关系,一个苹果可以被多个梨引用。你知道吗
为了便于分析,我简化了脚本。你知道吗
在型号.py地址:
from flask import current_app, request, url_for
from . import db
class Apple(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64))
class Pear(db.Model):
id = db.Column(db.Integer, primary_key=True)
apple_id = db.Column(db.Integer, db.ForeignKey('cabinet.id'))
amount = db.Column(db.Integer)
在视图.py你知道吗
from . import edit
from flask import render_template, url_for, redirect, flash
from .forms import ApplePearForm
from ..models import Apple, Pear
from .. import db
@edit.route('/apples-and-pears', methods=['GET', 'POST'])
def apples_and_pears():
form = ApplePearForm()
if form.validate_on_submit():
apple = Apple(name=form.name.data)
db.session.add(apple)
pear = Pear(apple_id=apple.id, amount=4)
db.session.add(pear)
flash('fruit was added to database')
return redirect(url_for('browse.fruit_list'))
return render_template('edit/apples_and_pears.html', form=form)
如果需要表之间的关系,应该使用
relationship
来定义。backref
在两侧添加引用,这样就可以执行pear=Pear(apple=apple)
:相关问题 更多 >
编程相关推荐