TurboGears - Modelle erstellen

Fügen wir ein Studentenmodell hinzu, das in unserem eine Studententabelle erstellt sqlite Datenbank.

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

Fügen Sie nun dieses Modell hinzu init_model() Funktion im Inneren __init__.py.Diese Funktion enthält bereits das Auth-Modell. Fügen Sie unser Studentenmodell darunter hinzu.

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

Wenn Sie möchten, dass die Tabelle zum Zeitpunkt der Einrichtung der Modelle mit einigen Daten initialisiert wird, fügen Sie diese in der Datei bootstrap.py im Websetup-Paket hinzu. Fügen Sie die folgenden Anweisungen in diebootstrap() Funktion.

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

Die Modelle werden durch Ausführen des Befehls setup-app des Getriebes initialisiert -

gearbox setup-app

Das Sitzungsobjekt von SQLAlchemy verwaltet alle Persistenzoperationen des ORM-Objekts.