Учебники

TurboGears — Создание моделей

Давайте добавим модель студента, которая настроит таблицу студента в нашей базе данных sqlite .

Привет \ привет \ модель \ 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

Если вы хотите, чтобы таблица была инициализирована с некоторыми данными во время настройки моделей, добавьте ее в bootstrap.py в пакете websetup. Добавьте следующие операторы в функцию 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 управляет всеми операциями сохранения объекта ORM.