【问题标题】:SQLAlchemy UPDATE record flask [closed]SQLAlchemy UPDATE记录烧瓶[关闭]
【发布时间】:2016-03-10 12:40:06
【问题描述】:

下面的代码将一条新记录添加到表 CC5 中。我需要添加一条记录 - 更新它。该怎么做?

view.py

    @app.route('/dodajc5', methods=['POST'])
def dodajc5():
        if request.form['przycisk'] == 'Zapisz':
                record = CC5(si=request.form['si'], snd=request.form['snd'], snh=request.form['snh'], sno=request.form['sno'],
                             so=request.form['so'], ss=request.form['ss'], xa=request.form['xa'], xh=request.form['xh'],
                             xi=request.form['xi'], xnd=request.form['xnd'], xp=request.form['xp'], xs=request.form['xs'])
                dbu.session.add(record)
                dbu.session.commit()
        return redirect(url_for('c5'))

models.py

class CC1(dbu.Model):
    __tablename__ = 'cc1'
    id = dbu.Column('id',dbu.Integer, primary_key = True)
    si = dbu.Column('si', dbu.Float)
    [...]
    xp = dbu.Column('xp', dbu.Float)
    xs = dbu.Column('xs', dbu.Float)

    def __init__(self,si,snd,snh,sno,so,ss,xa,xh,xi,xnd,xp,xs):
            self.si = si
            self.snd = snd
         [...]
            self.xp = xp
            self.xs = xs

【问题讨论】:

    标签: flask sqlalchemy sql-update


    【解决方案1】:

    你会像在现实生活中那样做。获取现有记录,进行更改并保存。假设form['si'] 是主键:

    if request.form['...'] = '...':
        pk = request.form['si']
        record = dbu.session.query(CC5).get(pk)
        record.so = request.form['so']
        record.snd = request.form['snd']
        # etc...
        db.session.commit
    

    阅读更多:SQLAlchemy "Adding and Updating Objects" Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多