TurboGears - SQLAlchemy

Meskipun dimungkinkan untuk menggunakan SQL dalam aplikasi TurboGears untuk melakukan operasi CRUD pada database relasional apa pun, disarankan untuk menggunakan SQLAlchemy, Python toolkit adalah Object Relation Mapper yang memberi pengembang aplikasi kekuatan penuh dan fleksibilitas SQL. Selain dukungan untuk database berbasis SQL melalui SQLAlchemy, TurboGears juga mendukung database MongoDB melalui Ming. Di bagian ini, fungsionalitas SQLAlchemy dibahas.

Apa itu ORM (Object Relational Mapping)?

Kebanyakan platform bahasa pemrograman berorientasi objek. Data di server RDBMS di sisi lain disimpan sebagai tabel. Pemetaan relasi objek adalah teknik memetakan parameter objek ke struktur tabel RDBMS yang mendasari. API ORM menyediakan metode untuk melakukan operasi CRUD tanpa harus menulis pernyataan SQL mentah.

Ketika proyek TurboGears dibuat menggunakan perintah 'quickstart' dari gearbox toolkit, dukungan SQLAlchemy diaktifkan secara default dengan pengaturan konfigurasi berikut -

config['use_sqlalchemy'] = True
config['sqlalchemy.url'] = 'sqlite:///devdata.db'

Proyek 'quickstarted' juga membuat paket model di dalamnya. Misalnya, proyek 'Hello' akan memiliki model Hello \ hello \. File berikut dibuat dalam paket ini -

  • __init__.py- Di sinilah akses database disiapkan. Objek model aplikasi diimpor dalam modul ini. Ia juga memiliki DBSession - manajer sesi global dan juga DeclarativeBase, yang merupakan kelas dasar untuk semua kelas model.

  • auth.py- Di sinilah model yang digunakan oleh tumpukan otentikasi ditentukan. Model database tambahan disimpan dalam paket ini, sebagai modul terpisah, dan ditambahkan di __init__.py.