TurboGears: creación de modelos
Agreguemos un modelo de estudiante que configurará una tabla de estudiantes en nuestro sqlite base de datos.
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 = '')
Ahora agregue este modelo en init_model() funcionar dentro __init__.py.Esta función ya contiene el modelo de autenticación. Agregue nuestro modelo de estudiante debajo.
# Import your model modules here.
from hello.model.auth import User, Group, Permission
from hello.model.student import student
Si desea que la tabla se inicialice con algunos datos al momento de configurar los modelos, agréguela en bootstrap.py en el paquete websetup. Agregue las siguientes declaraciones en elbootstrap() función.
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()
Los modelos se inicializan ejecutando el comando setup-app de la caja de cambios -
gearbox setup-app
El objeto de sesión de SQLAlchemy gestiona todas las operaciones de persistencia del objeto ORM.