Skip to content

Instantly share code, notes, and snippets.

@pawl
Created February 4, 2015 04:09
Show Gist options
  • Save pawl/95e4301330706e80f6a7 to your computer and use it in GitHub Desktop.
Save pawl/95e4301330706e80f6a7 to your computer and use it in GitHub Desktop.
Demostration of flask-admin date filter
from datetime import date, datetime, time
from flask import Flask, request, render_template
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.admin.contrib import sqla
from flask.ext.admin import expose, Admin, AdminIndexView
app = Flask(__name__)
app.config['DATABASE_FILE'] = 'sample_db_time.sqlite'
app.config['SECRET_KEY'] = 'secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + app.config['DATABASE_FILE']
db = SQLAlchemy(app)
class Model1(db.Model):
def __init__(self, date_field=None, time_field=None, datetime_field=None):
self.date_field = date_field
self.time_field = time_field
self.datetime_field = datetime_field
id = db.Column(db.Integer, primary_key=True)
date_field = db.Column(db.Date)
time_field = db.Column(db.Time)
datetime_field = db.Column(db.DateTime)
class ModelAdmin(sqla.ModelView):
can_edit = False
can_delete = False
can_create = False
column_filters = ['datetime_field', 'date_field', 'time_field']
admin = Admin(app)
admin.add_view(ModelAdmin(Model1, db.session))
def build_sample_db():
db.drop_all()
db.create_all()
date_obj1 = Model1(date_field=date(2014,11,17))
time_obj1 = Model1(time_field=time(0,0,0))
datetime_obj1 = Model1(datetime_field=datetime(2014,4,3,1,9,0))
db.session.add_all([
date_obj1, time_obj1, datetime_obj1
])
db.session.commit()
if __name__ == '__main__':
build_sample_db()
app.run(host="0.0.0.0", port=5001, debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment