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.