Django Database Orm Mastery
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.49 GB | Duration: 22h 57m
Last updated 11/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.49 GB | Duration: 22h 57m
Learn how to master building and interacting with databases within a Django project
What you'll learn
Setup and prepare an environment ready to develop Python Django applications
@ Level 1 - Connect Django applications to multiple database technologies and perform a variety of queries to create return update and delete data
@ Level 1 – Connect a Django application to multiple database technologies utilising Docker container technologies
@ Level 1 – Propagate changes to database tables structures
@ Level 1 – Build raw SQL queries to interact with database from within a Django project
@ Level 1 – Implement a variety of QuerySet API methods to limit, order and optimise performance
@ Level 1 – Implement a design methodology design and subsequently build and query a database
@ Level 2 - Advance knowledge of topics introduce at level 1
@ Level 2 - Implement Proxy Models & Abstract Classes
@ Level 2 - Incorporate Django Signals
@ Level 2 - Implement Django User Models and customizations
@ Level 2 - Implement Django Model Permissions
@ Level 2 - Implement Caching to enhance performance
@ Level 2 - Database testing
@ Level 2 - Q-Objects, Annotations, Fixtures, F() expressions, Prefetch
Requirements
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
Description
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.
Overview
Section 1: Django Database ORM Mastery
Lecture 1 Course Induction
Section 2: Quick-Start Windows 10/11 Installation & Setup Guide
Lecture 2 Installing Python 3.9.5
Lecture 3 Installation and User Guide for Visual Studio Code
Lecture 4 Creating Virtual Environments
Section 3: Quick-Start MacOS Installation & Setup Guide
Lecture 5 Installing Python 3.9.5
Lecture 6 Installation and User Guide for Visual Studio Code
Lecture 7 Creating Virtual Environments
Section 4: Preparing the Development Environment
Lecture 8 VSCode Extensions used in this course
Section 5: [Additional Content] Introducing Linters and Formatters
Lecture 9 Introducing Linters and Formatters
Lecture 10 Black
Lecture 11 Flake8
Lecture 12 Microsoft Python Extension
Section 6: New Django Developer - Django Induction [Optional]
Lecture 13 Preparing a new Virtual Environment
Lecture 14 Introducing the Python Package Index
Lecture 15 Installing the Django Framework
Lecture 16 Creating a new Django project
Lecture 17 Creating a new Django application
Lecture 18 Registering a new Django application
Lecture 19 Starting the Django Development Server
Lecture 20 Understanding the Django Request-Response Cycle
Lecture 21 Creating a unique URL pattern
Lecture 22 Writing a new view
Lecture 23 Creating a new HTML template
Lecture 24 Relating an HTML template to a view
Lecture 25 Installing a Django application from a requirements.txt file
Section 7: L1: Working with SQLite Database
Lecture 26 Section Introduction
Lecture 27 Introducing SQLite databases
Lecture 28 Connect an SQLite database to a Django project
Section 8: L1: Building Models
Lecture 29 Section Introduction
Lecture 30 Section setup guide - step-by-step
Lecture 31 Section setup guide (CodeBase-0)
Lecture 32 Database Terminology
Lecture 33 Introducing Django models
Lecture 34 Adding a string representation of a model
Lecture 35 The model verbose field name
Lecture 36 Introducing django model field types
Lecture 37 Introducing Django model field options
Lecture 38 Defining model primary keys
Lecture 39 Defining model Foreign Keys
Lecture 40 Defining one-to-one model relationships
Lecture 41 Defining Many-to-Many model relationships
Lecture 42 Introducing model meta options
Section 9: L1: Migrations
Lecture 43 Section Introduction
Lecture 44 Migrate model changes to the database schema
Section 10: L1: Inspecting Queries & Performance Analysis
Lecture 45 Section Introduction
Lecture 46 Section setup guide - Codebase-1
Lecture 47 Inspect queries with the query attribute
Lecture 48 Inspect queries - connection and reset queries
Lecture 49 Pretty print SQL
Section 11: L1: Utility
Lecture 50 Section Introduction
Lecture 51 Counting returned queryset objects
Lecture 52 Conveniently View data returned in queryset objects
Section 12: L1: Create and Save Objects
Lecture 53 Section Introduction
Lecture 54 Section setup guide - Codebase-1
Lecture 55 Insert data into a single table with create()
Lecture 56 Insert data into a single table with save()
Lecture 57 Explore the difference between save() and create()
Lecture 58 SQL Insert - Executing custom SQL Inserts
Lecture 59 Insert into single table with foreign key
Lecture 60 SQL Insert - Working with datetime fields and foreign keys
Lecture 61 Insert data into a single table with a many-to-many relationship
Lecture 62 SQL Insert – Working with many-to-many relationships
Lecture 63 Insert data into multiples tables & using atomic operations
Lecture 64 Insert data into a single table with a one-to-one relationship
Lecture 65 Insert multiple objects into single table – bulk create
Lecture 66 Query Profiling – bulk_create() vs create() performance analysis
Lecture 67 Creating and automating a set of Django Fixtures
Section 13: L1: Retrieving objects
Lecture 68 Section Introduction
Lecture 69 Section setup guide (Codebase-2)
Lecture 70 Return all objects from a single table – all()
Lecture 71 SQL – Return all objects from a single table
Lecture 72 Retrieving single objects from a single table – get()
Lecture 73 SQL – Return single objects from a single table
Lecture 74 Filter & Exclude - Retrieving specific objects
Lecture 75 SQL – Filter retrieving objects – filter()
Lecture 76 Retrieve objects from multiple tables through a foreign key relationship
Lecture 77 SQL - Retrieve objects foreign key relationship
Lecture 78 Retrieve objects from multiple tables through a one-to-one relationship
Lecture 79 Retrieve objects from multiple tables through a many-to-many relationship
Section 14: L1: Update Fields/Records
Lecture 80 Section Introduction
Lecture 81 Section setup guide (Codebase-2)
Lecture 82 Modify existing data for a specified record in a table
Lecture 83 Implementing update_or_create()
Lecture 84 bulk_update records in a single table
Section 15: L1: Delete Records
Lecture 85 Section Introduction
Lecture 86 Section setup guide (Codebase-2)
Lecture 87 Delete single and multiple objects
Section 16: L1: Implementing PostgreSQL Database & Docker
Lecture 88 Section introduction
Lecture 89 Docker introduction
Lecture 90 Installing Docker MacOS
Lecture 91 Installing Docker Desktop for Windows 10/11
Lecture 92 Create a Postgres Docker container
Lecture 93 Configuring Django to work with a PostgreSQL database
Section 17: L1: Field Lookup Keywords Arguments
Lecture 94 Section Introduction
Lecture 95 Section setup guide (Codebase-3)
Lecture 96 Field lookups
Lecture 97 Field lookup contains
Lecture 98 Field lookup with greater or less than
Lecture 99 Field lookup with start or end with
Lecture 100 Field lookup range
Lecture 101 Field lookup Day Week Month
Section 18: L1: QuerySet Ordering and Limiting
Lecture 102 Section Introduction
Lecture 103 Section setup guide (Codebase-3)
Lecture 104 Ordering a new QuerySet
Lecture 105 Reverse the output of a new QuerySet
Lecture 106 Return the first or last object matched by the queryset
Lecture 107 Return the earliest or latest object matched by the QuerySet
Lecture 108 Limit the objects returned from a QuerySet
Section 19: L1: Practical Exercises & Answers
Lecture 109 Section Introduction
Lecture 110 Section setup guide (Codebase-4)
Lecture 111 Reintroducing the database design and dataset
Lecture 112 Retrieve all sub-products for an individual product
Lecture 113 Retrieve a product featured image
Lecture 114 Retrieve all values associated to a sub-product
Lecture 115 Retrieve the product attributes for a given product type
Lecture 116 Retrieve all products associated to product attribute id:1
Lecture 117 Retrieve all sub-products that has less than 50 units left in stock
Lecture 118 Retrieve all sub-products which have been stock checked in the last month
Lecture 119 Retrieve all woman shoe products
Lecture 120 Retrieve all woman shoes by the xyz brand
Lecture 121 Retrieve all products associated to the xyz brand
Section 20: Level 1: Case Study - Ecommerce Inventory | Design | Build | Query
Lecture 122 Case Study Introduction
Lecture 123 Case Study Resources
Lecture 124 Design - Design methodology
Lecture 125 Design – Define the purpose
Lecture 126 Design - Requirement analysis
Lecture 127 Design - Defining the preliminary list of fields
Lecture 128 Design - Defining the preliminary subjects/entities
Lecture 129 Design - Refining the fields and tables
Lecture 130 Design - Naming fields and tables
Lecture 131 Design - Establishing Keys
Lecture 132 Design - Field Specifications
Lecture 133 Design - Table Relationships
Lecture 134 Design - Table Relationships – update fields
Lecture 135 Design - Business Rules
Lecture 136 Design - Django / Application Rules
Lecture 137 Build - Create the tables and fields
Lecture 138 Data – Create data - Django Admin Site
Lecture 139 Data – Create data - Django fixtures
Lecture 140 Data – Create data - Management command
Section 21: L2: Django Signals
Lecture 141 Introducing Signals and the Observer Pattern
Lecture 142 Recieving Signals
Lecture 143 Receiving Signals Specifying a Model
Section 22: L2: Custom Model Fields
Lecture 144 Introducing Custom Model Fields
Lecture 145 Creating a Custom field Subclass
Lecture 146 Creating a Custom Order Field
Lecture 147 Custom field Subclass - Converting Values to and From a Database
Section 23: L2: Advancing Many-to-Many
Lecture 148 Learning Objectives: Advancing Many-to-Many
Lecture 149 Re-cap - Many-to-Many relationship
Lecture 150 Specifying a Many-to-Many Intermediate Model
Lecture 151 Django Admin Many-to-Many Intermediate Model Configuration
Lecture 152 Querying a Many-to-Many Custom Intermediate Model
Lecture 153 Related Object Reference Reverse Queries
Lecture 154 Extend a Many-to-Many intermediate model with custom fields
Section 24: L2: Django User Model
Lecture 155 Section Intro - Django User Model
Lecture 156 Introducing the Django User Model
Lecture 157 Changing the User Model Behaviour (Proxy Model)
Lecture 158 Store extra information about the existing User Model (User Profile)
Lecture 159 Inherit and add extra fields to the user table (AbstractUser)
Beginners, Developers, Students, and Enthusiasts new to the Django Framework,Developers, Students, and Enthusiasts looking to refresh their knowledge of the Django ORM