TurboGears - Membuat Model

Mari kita tambahkan model siswa yang akan menyiapkan tabel siswa di sqlite database.

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

Sekarang tambahkan model ini init_model() berfungsi di dalam __init__.py.Fungsi ini sudah memuat model autentikasi di dalamnya. Tambahkan model siswa kita di bawahnya.

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

Jika Anda ingin tabel diinisialisasi dengan beberapa data pada saat menyiapkan model, tambahkan di bootstrap.py di paket websetup. Tambahkan pernyataan berikut dibootstrap() fungsi.

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

Model diinisialisasi dengan menjalankan perintah aplikasi pengaturan gearbox -

gearbox setup-app

Objek sesi dari SQLAlchemy mengelola semua operasi ketekunan objek ORM.