Coba jelasin Contoh dari SQLAlchemy dong

Contoh berikut mewakili hubungan n-ke-1 dengan mengambil contoh kasus: film dan sutradaranya.

Membuat kelas dan tabel di dalam database: from sqlalchemy import *

from sqlalchemy.orm import relation, sessionmaker

director = relation("Director", backref='movies', lazy=False)

return "Movie(%r, %r, %r)" % (self.title, self.year, self.director)

name = Column(String(50), nullable=False, unique=True)

Perintah berikut dapat digunakan untuk menyisipkan hubungan antara sutradara dan film dengan menggunakan salah satu entitas:

d2.movies = [Movie("Star Wars", 1977), Movie("THX 1138", 1971)]

Query berikut akan dibuat oleh SQLAlchemy ke DBMS:

SELECT movies.id, movies.title, movies.year, movies.directed_by, directors.id, directors.name

FROM movies LEFT OUTER JOIN directors ON directors.id = movies.directed_by

Keluaran atau hasil: Movie('Robocop', 1987L, Director('Paul Verhoeven'))

Movie('Star Wars', 1977L, Director('George Lucas'))

Movie('THX 1138', 1971L, Director('George Lucas'))

Jika pengaturan lazy=True (bawaan) diaktifkan maka SQLAlchemy akan membuat query untuk mendapatkan daftar film. Bila diperlukan maka akan mengambil nama sutradara yang sesuai. Lihat contoh berikut: SELECT movies.id, movies.title, movies.year, movies.directed_by