TurboGears - Model Oluşturma

Öğrenci masası kuracak bir öğrenci modeli ekleyelim. sqlite veri tabanı.

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 = '')

Şimdi bu modeli şuraya ekle init_model() içeride işlev __init__.py.Bu işlev zaten içinde kimlik doğrulama modelini içeriyor. Öğrenci modelimizi aşağıya ekleyin.

# Import your model modules here.
from hello.model.auth import User, Group, Permission
from hello.model.student import student

Modellerin kurulumu sırasında tablonun bazı verilerle başlatılmasını istiyorsanız, bunu websetup paketindeki bootstrap.py'ye ekleyin. Aşağıdaki ifadeleri ekleyinbootstrap() işlevi.

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()

Modeller, vites kutusunun kurulum uygulaması komutunu çalıştırarak başlatılır -

gearbox setup-app

SQLAlchemy'nin Session nesnesi, ORM nesnesinin tüm kalıcılık işlemlerini yönetir.