Flask-SQLAlchemy: Cómo insertar o actualizar condicionalmente una fila

Mi aplicación utiliza una combinación de Flask, Flask-SQLAlchemy, Flask-WTF y Jinja2.

En su encarnación actual, tengo una tabla de configuración. La tabla solo tendrá un registro con un campo. Inicialmente la tabla contiene cero registros.

Lo que quiero lograr es:

Dado que no existen entradas en db, entonces muestre el formulario vacío listo para la entrada del usuarioDado que existe una entrada, muestre la entrada, ysi el usuario cambia el valor, entonces actualice la grabación en db.

Aquí está mi código:

modelos.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()])

vistas.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)

En su forma actual, este código crea un registro si no existe pero elrssfeed&nbsp;la columna está vacía

¿Cómo puedo cambiar este código para que lo haga?INSERT&nbsp;si el registro no existe yUPDATE&nbsp;¿si lo hace?