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_model() 내부 기능 __init__.py.이 함수에는 이미 인증 모델이 포함되어 있습니다. 그 아래에 학생 모델을 추가하십시오.

# 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 개체의 모든 지속성 작업을 관리합니다.