TurboGears - Tạo mô hình

Hãy để chúng tôi thêm một mô hình học sinh sẽ thiết lập một bảng học sinh trong sqlite cơ sở dữ liệu.

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

Bây giờ hãy thêm mô hình này vào init_model() chức năng bên trong __init__.py.Hàm này đã chứa mô hình xác thực trong đó. Thêm mô hình sinh viên của chúng tôi bên dưới nó.

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

Nếu bạn muốn bảng được khởi tạo với một số dữ liệu tại thời điểm thiết lập mô hình, hãy thêm nó vào bootstrap.py trong gói websetup. Thêm các câu lệnh sau vàobootstrap() chức năng.

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

Các mô hình được khởi tạo bằng cách chạy lệnh cài đặt ứng dụng của hộp số -

gearbox setup-app

Đối tượng phiên của SQLAlchemy quản lý tất cả các hoạt động liên tục của đối tượng ORM.