PythonAsia 2026

PythonAsia 2026

Database Sorcery 101: Ditch the Ancient SQL Scrolls for SQLModel
2026-03-22 , Pardo Hall (Secondary Hall)

For many Python beginners, learning databases feels like cracking open an ancient spellbook: mysterious runes (SQL syntax), lengthy incantations (boilerplate code), and a constant fear of summoning errors you don’t understand. But what if working with databases felt more like casting clean modern Python magic? This is precisely what SQLModel provides! It lets you define your database tables, validate your data, and power your APIs with a single Python class. No need to chant raw SQL spells or copy schemas in multiple places, one class/model will do all the magic.

In this beginner-friendly talk, we’ll banish the old scrolls of boilerplate and conjure a live demo: a spellbook API powered by SQLModel and FastAPI.


Description

This talk is about SQLModel for beginners with a twist of magic. SQLModel is a library that simplifies SQL statements just like magic with the use of Python objects. It is written by the same author of FastAPI, Sebastián Ramírez, and is powered by Pydantics + SQLAlchemy. I believe that this library is a hidden gem that will define the future of ORM in Python. It is underutilized, not well known, but to be fair, it's a fairly new library (published in 2021).

Moreover, based on official documentation, SQLModel is:
- Intuitive to write: Great editor support. Completion everywhere. Less time debugging. Designed to be easy to use and learn. Less time reading docs.
- Easy to use: It has sensible defaults and does a lot of work underneath to simplify the code you write.
- Compatible: It is designed to be compatible with FastAPI, Pydantic, and SQLAlchemy.
- Extensible: You have all the power of SQLAlchemy and Pydantic underneath.
- Short: Minimize code duplication. A single type annotation does a lot of work. No need to duplicate models in SQLAlchemy and Pydantic.

I believe that this library is something useful specifically for both Beginners and Intermediate developers:

  1. No need to learn and memorize SQL syntax for beginners; instead, you can write normal Python code, and you'll get a database.
  2. It removes a lot of boilerplate code for SQL statements. Where, instead of using statements, we use Python objects and functions instead. So instead of spending a lot of time defining your schema and writing a bunch of queries, you can head straight to coding a single class.
  3. Faster development time because of how fast you can create a working database with SQLModel, which can result in better motivation in writing code as well!

Category: Web Development/APIs Audience Level: Beginner

Christian Mark P. Francisco is a third-year Computer Science student at National University - Dasmariñas and a former part-time Automation Engineer. He’s spent over five years learning, teaching, building, and occasionally geeking out over Python. He is a Devcon Kids Manila Lead Learner, has spoken at various talks and events, and is a self-proclaimed Acolyte Wizard. Christian firmly believes that knowledge should be free, accessible, and shared—preferably with a bit of curiosity and fun along the way.