Turbogears-creating-models
提供:Dev Guides
TurboGears –モデルの作成
*sqlite* データベースに学生テーブルを設定する学生モデルを追加しましょう。
*Hello \ hello \ model \ student.py*
from sqlalchemy import *
from sqlalchemy.orm import mapper, relation, relation, backref
from sqlalchemy import Table, ForeignKey, Column
from sqlalchemy.types import Integer, Unicode, DateTime
from hello.model import DeclarativeBase, metadata, DBSession
from datetime import datetime
class student(DeclarativeBase):
__tablename__ = 'student'
uid = Column(Integer, primary_key = True)
name = Column(Unicode(20), nullable = False, default = '')
city = Column(Unicode(20), nullable = False, default = '')
address = Column(Unicode(100), nullable = False, default = '')
pincode = Column(Unicode(10), nullable = False, default = '')
- init。py。内の init_model()*関数にこのモデルを追加します。この関数には既に認証モデルが含まれています。 その下に学生モデルを追加します。
# Import your model modules here.
from hello.model.auth import User, Group, Permission
from hello.model.student import student
モデルのセットアップ時にテーブルを何らかのデータで初期化する場合は、websetupパッケージのbootstrap.pyに追加します。 * bootstrap()*関数に次のステートメントを追加します。
s1 = model.student()
s1.name = 'M.V.Lathkar'
s1.city = 'Nanded'
s1.address = 'Shivaji Nagar'
s1.pincode = '431602'
model.DBSession.add(s1)
model.DBSession.flush()
transaction.commit()
モデルは、ギアボックスのsetup-appコマンドを実行して初期化されます-
gearbox setup-app
SQLAlchemyのSessionオブジェクトは、ORMオブジェクトのすべての永続化操作を管理します。