Skip to content

Instantly share code, notes, and snippets.

@pawl
Created August 28, 2015 22:08
Show Gist options
  • Save pawl/ce519c38308fc8c16fc2 to your computer and use it in GitHub Desktop.
Save pawl/ce519c38308fc8c16fc2 to your computer and use it in GitHub Desktop.
peewee sortable test flask-admin
from flask import Flask, redirect, url_for, request
import peewee
import flask_admin as admin
from flask_admin.contrib.peewee import ModelView
app = Flask(__name__)
app.config['SECRET_KEY'] = '123456790'
db = peewee.SqliteDatabase('test4.sqlite', check_same_thread=False)
class BaseModel(peewee.Model):
class Meta:
database = db
class User(BaseModel):
username = peewee.CharField(max_length=80)
email = peewee.CharField(max_length=120)
def __unicode__(self):
return self.username
class Post(BaseModel):
title = peewee.CharField(max_length=120)
text = peewee.TextField(null=False)
date = peewee.DateTimeField()
user = peewee.ForeignKeyField(User)
def __unicode__(self):
return self.title
class UserAdmin(ModelView):
pass
class PostAdmin(ModelView):
column_sortable_list = ('title', ('user', 'user.username'), 'date')
column_list = ('title', 'user', 'date')
@app.route('/')
def index():
return '<a href="/admin/">Click me to get to Admin!</a>'
if __name__ == '__main__':
import logging
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
admin = admin.Admin(app, name='Example: Peewee')
admin.add_view(UserAdmin(User))
admin.add_view(PostAdmin(Post))
try:
User.create_table()
Post.create_table()
except:
pass
app.run(debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment