Django Database ORM Mastery Free Download

Learn how to master building and interacting with databases within a Django project. Set up and prepare an environment ready to develop Python Django applications.

Django Database ORM Course content

23 sections • 155 lectures • 21h 46m total length

Django Database ORM Mastery1 lecture • 3min

  • Course InductionPreview02:35

Quick-Start Windows 10/11 Installation & Setup Guide3 lectures • 22min

  • Installing Python 3.9.505:34
  • Installation and User Guide for Visual Studio Code07:18
  • Creating Virtual Environments09:23
  • Test Your Knowledge2 questions

Quick-Start MacOS Installation & Setup Guide3 lectures • 19min

  • Installing Python 3.9.505:49
  • Installation and User Guide for Visual Studio Code07:55
  • Creating Virtual Environments04:56
  • Test Your Knowledge2 questions

Preparing the Development Environment1 lecture • 2min

  • VSCode Extensions used in this course02:14

[Additional Content] Introducing Linters and Formatters4 lectures • 1hr 29min

  • Introducing Linters and Formatters16:33
  • Black18:37
  • Flake827:15
  • Microsoft Python Extension26:24

New Django Developer – Django Induction [Optional]13 lectures • 1hr 19min

  • Preparing a new Virtual Environment06:03
  • Introducing the Python Package Index05:20
  • Installing the Django Framework08:42
  • Creating a new Django project06:23
  • Creating a new Django application09:57
  • Registering a new Django application04:06
  • Starting the Django Development Server05:45
  • Understanding the Django Request-Response Cycle06:27
  • Creating a unique URL pattern10:01
  • Writing a new view05:48
  • Creating a new HTML template02:40
  • Relating an HTML template to a view02:15
  • Installing a Django application from a requirements.txt file05:55
  • Test Your Knowledge10 questions

L1: Working with SQLite Database3 lectures • 18min

  • Section IntroductionPreview00:54
  • Introducing SQLite databases05:04
  • Connect an SQLite database to a Django project11:54

L1: Building Models14 lectures • 1hr 53min

  • Section IntroductionPreview01:29
  • Section setup guide – step-by-step06:24
  • Section setup guide (CodeBase-0)03:25
  • Database Terminology07:26
  • Introducing Django models13:24
  • Adding a string representation of a model17:50
  • The model verbose field name04:54
  • Introducing django model field types14:49
  • Introducing Django model field options09:31
  • Defining model primary keys07:49
  • Defining model Foreign Keys09:42
  • Defining one-to-one model relationships07:22
  • Defining Many-to-Many model relationships05:40
  • Introducing model meta options03:29
  • Check your knowledge – Building Models11 questions

L1: Migrations2 lectures • 7min

  • Section IntroductionPreview00:34
  • Migrate model changes to the database schema06:48

L1: Inspecting Queries & Performance Analysis5 lectures • 36min

  • Section IntroductionPreview00:53
  • Section setup guide – Codebase-106:35
  • Inspect queries with the query attribute11:19
  • Inspect queries – connection and reset queries06:40
  • Pretty print SQL11:00

L1: Utility3 lectures • 7min

  • Section IntroductionPreview00:36
  • Counting returned queryset objects03:57
  • Conveniently View data returned in queryset objects02:40

L1: Create and Save Objects15 lectures • 3hr 10min

  • Section IntroductionPreview00:35
  • Section setup guide – Codebase-106:35
  • Insert data into a single table with create()14:22
  • Insert data into a single table with save()11:04
  • Explore the difference between save() and create()17:17
  • SQL Insert – Executing custom SQL Inserts17:15
  • Insert into single table with foreign key15:01
  • SQL Insert – Working with datetime fields and foreign keys17:27
  • Insert data into a single table with a many-to-many relationship16:12
  • SQL Insert – Working with many-to-many relationships11:31
  • Insert data into multiples tables & using atomic operations16:21
  • Insert data into a single table with a one-to-one relationship08:21
  • Insert multiple objects into single table – bulk create07:20
  • Query Profiling – bulk_create() vs create() performance analysis13:52
  • Creating and automating a set of Django Fixtures17:16

L1: Retrieving objects12 lectures • 2hr 20min

  • Section IntroductionPreview00:45
  • Section setup guide (Codebase-2)05:38
  • Return all objects from a single table – all()05:49
  • SQL – Return all objects from a single table12:02
  • Retrieving single objects from a single table – get()08:11
  • SQL – Return single objects from a single table07:18
  • Filter & Exclude – Retrieving specific objects15:07
  • SQL – Filter retrieving objects – filter()09:17
  • Retrieve objects from multiple tables through a foreign key relationship30:37
  • SQL – Retrieve objects foreign key relationship15:52
  • Retrieve objects from multiple tables through a one-to-one relationship07:33
  • Retrieve objects from multiple tables through a many-to-many relationship21:46

L1: Update Fields/Records5 lectures • 31min

  • Section IntroductionPreview00:25
  • Section setup guide (Codebase-2)05:38
  • Modify existing data for a specified record in a table06:18
  • Implementing update_or_create()06:55
  • bulk_update records in a single table12:07

L1: Delete Records3 lectures • 10min

  • Section IntroductionPreview00:22
  • Section setup guide (Codebase-2)05:38
  • Delete single and multiple objects04:19

L1: Implementing PostgreSQL Database & Docker6 lectures • 25min

  • Section introductionPreview00:33
  • Docker introduction02:17
  • Installing Docker MacOS02:48
  • Installing Docker Desktop for Windows 10/1103:51
  • Create a Postgres Docker container07:57
  • Configuring Django to work with a PostgreSQL database07:25

L1: Field Lookup Keywords Arguments8 lectures • 43min

  • Section IntroductionPreview00:08
  • Section setup guide (Codebase-3)04:09
  • Field lookups12:23
  • Field lookup contains06:06
  • Field lookup with greater or less than06:13
  • Field lookup with start or end with05:16
  • Field lookup range03:43
  • Field lookup Day Week Month04:53

L1: QuerySet Ordering and Limiting7 lectures • 43min

  • Section IntroductionPreview00:15
  • Section setup guide (Codebase-3)04:09
  • Ordering a new QuerySet10:06
  • Reverse the output of a new QuerySet06:18
  • Return the first or last object matched by the queryset05:27
  • Return the earliest or latest object matched by the QuerySet03:44
  • Limit the objects returned from a QuerySet12:40

L1: Practical Exercises & Answers13 lectures • 1hr 55min

  • Section IntroductionPreview00:36
  • Section setup guide (Codebase-4)02:15
  • Reintroducing the database design and dataset03:51
  • Retrieve all sub-products for an individual product07:13
  • Retrieve a product featured image11:21
  • Retrieve all values associated to a sub-product12:10
  • Retrieve the product attributes for a given product type11:50
  • Retrieve all products associated to product attribute id:117:17
  • Retrieve all sub-products that has less than 50 units left in stock07:36
  • Retrieve all sub-products which have been stock checked in the last month11:52
  • Retrieve all woman shoe products11:40
  • Retrieve all woman shoes by the xyz brand10:21
  • Retrieve all products associated to the xyz brand06:33

Level 1: Case Study – Ecommerce Inventory | Design | Build | Query19 lectures • 2hr 18min

  • Case Study IntroductionPreview01:07
  • Case Study Resources01:14
  • Design – Design methodology00:44
  • Design – Define the purpose02:35
  • Design – Requirement analysis05:31
  • Design – Defining the preliminary list of fields06:15
  • Design – Defining the preliminary subjects/entities06:59
  • Design – Refining the fields and tables24:24
  • Design – Naming fields and tables05:33
  • Design – Establishing Keys01:35
  • Design – Field Specifications08:08
  • Design – Table Relationships17:54
  • Design – Table Relationships – update fields07:58
  • Design – Business Rules03:55
  • Design – Django / Application Rules07:44
  • Build – Create the tables and fields11:23
  • Data – Create data – Django Admin Site13:25
  • Data – Create data – Django fixtures08:30
  • Data – Create data – Management command03:10

L2: Django Signals3 lectures • 31min

  • Introducing Signals and the Observer Pattern13:20
  • Recieving Signals08:32
  • Receiving Signals Specifying a Model09:03

L2: Advancing Many-to-Many7 lectures • 49min

  • Learning Objectives: Advancing Many-to-Many01:33
  • Re-cap – Many-to-Many relationship05:15
  • Specifying a Many-to-Many Intermediate Model07:25
  • Django Admin Many-to-Many Intermediate Model Configuration06:18
  • Querying a Many-to-Many Custom Intermediate Model11:07
  • Related Object Reference Reverse Queries05:06
  • Extend a Many-to-Many intermediate model with custom fields12:14
  • Test Your Knowledge1 question

L2: Django User Model5 lectures • 1hr 35min

  • Section Intro – Django User ModelPreview01:34
  • Introducing the Django User Model17:06
  • Changing the User Model Behaviour (Proxy Model)22:51
  • Store extra information about the existing User Model (User Profile)39:46
  • Inherit and add extra fields to the user table (AbstractUser)13:51


  • Prior experience in using the Django framework would be advantageous
  • Knowledge of relational database principles would be advantageous
  • Having a computer would definitely be advantageous


One of the most powerful features of Django is its Object-Relational Mapper (ORM). In a Django project, the Django ORM provides the tools to rapidly build database interactions without needing to learn Structured Query Language (SQL). This course helps you start your journey mastering database interactions using the Django ORM to build scalable and performant Django applications.

This course is currently in its first iteration and includes level 1 of 3 planned levels. Each level will be a separate course. You will find subsequent levels in our course library for levels 2 and 3 of this course. At level 1 you will learn how to build, administrate tables and perform common Create, Return, Update and Delete (CRUD) operations through the Django ORM. The courseware at level 1 scaffolds the learning, building towards a final case study where we first design and subsequently develop and query the database. Learners may track their knowledge through optional section assessments leading towards a final level assessment (section and level assessments are a feature coming very soon).

We believe that to master Django database interactions and performance, it can be beneficial to underpin knowledge, learning to interact with a database from a Django project through raw SQL queries. Subsequently, learners may follow optional tutorials learning the underlying SQL used to interact with a database and perform operations.

I hope you enjoy the course and fulfil your learning objective. Don’t forget to visit us on our YouTube Channel, Very Academy, where you can further interact with the community and explore other free supplementary content.

Who this course is for:

  • Beginners, Developers, Students, and Enthusiasts new to the Django Framework
  • Developers, Students, and Enthusiasts looking to refresh their knowledge of the Django ORM
Share Post

Leave a Comment