我的应用程序使用烧瓶,烧瓶SQLAlchemy的,瓶,跆拳道和Jinja2的组合。
在目前的化身,我有一个设置表。 该表将只具有一个字段的一个记录。 最初,表中包含零个记录。
我想实现的是:
- 由于在数据库中不存在条目,则显示空单准备用于用户输入
- 鉴于条目存在,表明该条目,
- 如果用户更改的价值,然后更新分贝REC。
这里是我的代码:
models.py
class Provider(db.Model):
id = db.Column(db.Integer, primary_key = True)
rssfeed = db.Column(db.String(120), unique = True)
def __init__(self, rssfeed):
self.rssfeed = rssfeed
def __repr__(self):
return '<NZBMatrix feed url %r>' % self.rssfeed
forms.py
class SettingsForm(Form):
rssfeed = TextField('rssfed', validators= [Required()])
views.py
@app.route('/settings', methods=["GET","POST"])
def settings():
""" show settings """
provider = Provider.query.get(1)
form = SettingsForm(obj=provider)
print provider
if request.method == "POST" and form.validate():
if Provider.query.get(1) is None:
provider = Provider(rssfeed=form.rssfeed.data)
form.populate_obj(provider)
db.session.add(provider)
db.session.commit()
flash("Settings added")
return render_template("settings.html", form=form)
因为它代表该代码创建,如果它不存在,但该记录rssfeed
栏是空的。
我怎样才能改变这种代码,以便将INSERT
如果记录不存在, UPDATE
,如果它?