Skip to content

Instantly share code, notes, and snippets.

@blurrcat
Last active August 29, 2015 14:05

Revisions

  1. blurrcat revised this gist Aug 24, 2014. 3 changed files with 12 additions and 10 deletions.
    11 changes: 5 additions & 6 deletions app.py
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,7 @@
    from flask import Flask
    from models import Base


    app = Flask('tets')


    from db import db

    def create_app(config_obj)
    app = Flask('tets')
    app.config.fromobj(config_obj) # db configured in `config_obj`
    db.init_app(app)
    5 changes: 3 additions & 2 deletions db.py
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,3 @@
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    from flask_peewee.db import Database
    from peewee import Model

    @@ -23,3 +21,6 @@ class Meta:
    database = self.database

    self.Model.Meta = Meta


    db = DeferredDatabase()
    6 changes: 4 additions & 2 deletions models.py
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,9 @@
    # database irrelevant model definitions
    # database engine irrelevant model definitions
    # i.e., you can define models before connecting to the database
    from db import db


    class User(Base):
    class User(db.Model):
    class Meta:
    db_table = 'test_user'
    name = CharField()
  2. blurrcat created this gist Aug 24, 2014.
    8 changes: 8 additions & 0 deletions app.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    from flask import Flask
    from models import Base


    app = Flask('tets')



    25 changes: 25 additions & 0 deletions db.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    from flask_peewee.db import Database
    from peewee import Model


    class DeferredDatabase(Database):
    def __init__(self, app=None):
    if app:
    super(DeferredDatabase, self).__init__(app)
    else:
    class BaseModel(Model):
    pass
    self.Model = BaseModel

    def init_app(self, app):
    self.app = app

    self.load_database()
    self.register_handlers()

    class Meta:
    database = self.database

    self.Model.Meta = Meta
    7 changes: 7 additions & 0 deletions models.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    # database irrelevant model definitions


    class User(Base):
    class Meta:
    db_table = 'test_user'
    name = CharField()