Skip to content

Instantly share code, notes, and snippets.

@pawl
Created November 23, 2014 01:57
Show Gist options
  • Save pawl/5886ac55ad1676233f91 to your computer and use it in GitHub Desktop.
Save pawl/5886ac55ad1676233f91 to your computer and use it in GitHub Desktop.
from flask import Flask, request
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin.contrib import sqla
from flask.ext.admin import expose, Admin
app = Flask(__name__)
app.config['DATABASE_FILE'] = 'sample_db.sqlite'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + app.config['DATABASE_FILE']
db = SQLAlchemy(app)
class Model(db.Model):
id = db.Column(db.Integer, primary_key=True)
uncheck_me = db.Column(db.Boolean, default=True)
class ModelAdmin(sqla.ModelView):
def update_model(self, form, model):
for field in form:
if (field.type == "BooleanField") and (field.name not in request.form):
field.data = False
return super(ModelAdmin, self).update_model(form, model)
def create_model(self, form):
for field in form:
if (field.type == "BooleanField") and (field.name not in request.form):
field.data = False
return super(ModelAdmin, self).create_model(form)
admin = Admin(app)
admin.add_view(ModelAdmin(Model, db.session))
def build_sample_db():
db.drop_all()
db.create_all()
db.session.add(Model())
db.session.commit()
if __name__ == '__main__':
build_sample_db()
app.run(debug=True, host="0.0.0.0", port=5001)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment