TurboGears - Creazione di modelli

Aggiungiamo un modello studente che creerà una tabella studenti nel nostro file sqlite Banca dati.

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

Ora aggiungi questo modello init_model() funzione all'interno __init__.py.Questa funzione contiene già il modello di autenticazione. Aggiungi il nostro modello di studente sotto di esso.

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

Se vuoi che la tabella venga inizializzata con alcuni dati al momento della configurazione dei modelli, aggiungila in bootstrap.py nel pacchetto websetup. Aggiungi le seguenti istruzioni nel filebootstrap() funzione.

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

I modelli vengono inizializzati eseguendo il comando setup-app del cambio -

gearbox setup-app

L'oggetto Session di SQLAlchemy gestisce tutte le operazioni di persistenza dell'oggetto ORM.