2016-12-18 1 views
1

私はSQLAlchemyののapp.py)(私はdb.create_allを使用してDBを作成した後に行を移入んかSQLAlchemyのを使用して

@app.before_first_request 
def create_tables(): 
    db.create_all() 

そしてuser.pyモデルファイルに基本的なユーザーを定義におけるcreate_allコールを持っています:

class UserModel(db.Model): 
    __tablename__ = 'users' 

    id = db.Column(db.Integer, primary_key = True) 
    username = db.Column(db.String(80)) 
    password = db.Column(db.String(80)) 

    def __init__(self, username, password): 
     self.username = username 
     self.password = password 

私は、この例では、いくつかのベースのユーザー、いくつかのデフォルトのデータを事前に移入します:

admin = self('admin', 'test') 
    guest = self('guest', 'test') 

I入力それら缶何とかapp.pyで?または別のcreate_data.pyタイプのファイルですか?

+0

使用 'db.session.addを()'を呼び出したりすることができます'db.session.add_all([admin、guest])'は動作しますhttp://flask-sqlalchemy.pocoo.org/2.1/quickstart/#a-minimal-application – Deusdeorum

答えて

1

あなたはこのようなexample_data.pyファイル作成することができます。

from user import UserModel 

def db_load_example_data(app, db): 
    admin = UserModel('admin', 'test') 
    guest = UserModel('guest', 'test') 
    with app.app_context(): 
     db.session.add(admin) 
     db.session.add(guest) 
     db.commit() 

をしてから起動スクリプトで、あなたもこの

from example_data import db_load_example_data 

db_load_example_data(app, db) 
関連する問題