Django notes #2 (ORM)
Model Managers
QuerySets
Advanced QuerySet Methods (annotate(), aggregate(), only(), defer())
Efficient Querying (select_related(), prefetch_related(), values(), values_list())
Subqueries and Expressions (Subquery, Exists, Case, When, F(), Q())
Transactions and Atomic Operations (transaction.atomic(), select_for_update())
Raw SQL Execution (.raw(), connection.cursor())
Field Lookups and Filtering (__contains, __icontains, __gte, __lte, __in)
Model Signals (pre_save, post_save, pre_delete, post_delete)
Complex Joins and Aggregations (OuterRef, Prefetch, Count, Sum, Avg, Max, Min)
Custom Fields and Methods in Models
Efficient Bulk Operations (bulk_create(), bulk_update())
ORM Performance Optimization (Indexing, Caching, N+1 Problem)
Constraints and Validation (unique_together, CheckConstraint)
Soft Deletes and Custom QuerySets
Window Functions and Analytics (Window, RowNumber, Rank, DenseRank).
Recursive Queries (Using CTE with Django’s With clause).
JSONField and PostgreSQL-Specific Features (JSON queries, ArrayField).
Database Functions in ORM (Coalesce, Concat, Length, Trunc).
QuerySet Optimization Techniques (iterator(), chunked(), avoiding .count()).
Deferred Constraints (Deferring unique constraints or FKs).
Custom Database Routers (Multiple databases management).
Advanced Lookups (regex, unaccent, full-text search in PostgreSQL).
Partial Indexes and Unique Constraints (index_together, unique_together).
Materialized Views Integration (Using views as models).
Dynamic QuerySet Filtering (filter() chaining and dynamic filters).
Audit Trails and History Tracking (Tracking changes to models).
Project Level VSC Settings, Linting, and Formatting Configuration
Automatically Populate Fields Based on Other Fields
Django Automatic Model Generation
String Representation of Any Object
Creating Custom Field Subclass
Creating a Custom Order Field
Custom Fields: Converting Values to and From a Database
A Bad Attempt to Explain How to Choose the Right Table Relationship
Performing Raw SQL Queries Without the ORM (only briefly mentioned .raw())
Django Debug Toolbar for SQL Optimization
Inheritance Optimization Exercises
Django Multiple Database Setup
Django Import CSV into Model
Create Django Fixtures from Excel/CSV File
Saving Pandas DataFrame to Django Model
Django Search (Search functionality within QuerySets)
Model Level Constraint (Beyond unique_together and CheckConstraint)
Foreign Key Deletion Constraints (CASCADE, PROTECT, etc.)
Custom Migration Actions (Custom operations in migrations)
Django Cron Job for Database User Management
Get vs. Filter in QuerySets (Detailed comparison)
Model Field Validators and Writing Custom Validators
Django Query Optimization with django-debug-toolbar (deep dive)
ManyToManyFields and Through-Models (Detailed usage)
COALESCE Function and Handling NULL Values
Content Types Framework and GenericForeignKey (Deep dive)
GeneratedField in Django 5 (New feature)
Graph Models Command for ER Diagrams
inspectdb Command for Multiple Databases
Database Routers for Multiple Databases (Advanced usage)
Model Managers
QuerySets
Advanced QuerySet Methods (annotate(), aggregate(), only(), defer())
Efficient Querying (select_related(), prefetch_related(), values(), values_list())
Subqueries and Expressions (Subquery, Exists, Case, When, F(), Q())
Transactions and Atomic Operations (transaction.atomic(), select_for_update())
Raw SQL Execution (.raw(), connection.cursor())
Field Lookups and Filtering (__contains, __icontains, __gte, __lte, __in)
Model Signals (pre_save, post_save, pre_delete, post_delete)
Complex Joins and Aggregations (OuterRef, Prefetch, Count, Sum, Avg, Max, Min)
Custom Fields and Methods in Models
Efficient Bulk Operations (bulk_create(), bulk_update())
ORM Performance Optimization (Indexing, Caching, N+1 Problem)
Constraints and Validation (unique_together, CheckConstraint)
Soft Deletes and Custom QuerySets
Window Functions and Analytics (Window, RowNumber, Rank, DenseRank).
Recursive Queries (Using CTE with Django’s With clause).
JSONField and PostgreSQL-Specific Features (JSON queries, ArrayField).
Database Functions in ORM (Coalesce, Concat, Length, Trunc).
QuerySet Optimization Techniques (iterator(), chunked(), avoiding .count()).
Deferred Constraints (Deferring unique constraints or FKs).
Custom Database Routers (Multiple databases management).
Advanced Lookups (regex, unaccent, full-text search in PostgreSQL).
Partial Indexes and Unique Constraints (index_together, unique_together).
Materialized Views Integration (Using views as models).
Dynamic QuerySet Filtering (filter() chaining and dynamic filters).
Audit Trails and History Tracking (Tracking changes to models).
Project Level VSC Settings, Linting, and Formatting Configuration
Automatically Populate Fields Based on Other Fields
Django Automatic Model Generation
String Representation of Any Object
Creating Custom Field Subclass
Creating a Custom Order Field
Custom Fields: Converting Values to and From a Database
A Bad Attempt to Explain How to Choose the Right Table Relationship
Performing Raw SQL Queries Without the ORM (only briefly mentioned .raw())
Django Debug Toolbar for SQL Optimization
Inheritance Optimization Exercises
Django Multiple Database Setup
Django Import CSV into Model
Create Django Fixtures from Excel/CSV File
Saving Pandas DataFrame to Django Model
Django Search (Search functionality within QuerySets)
Model Level Constraint (Beyond unique_together and CheckConstraint)
Foreign Key Deletion Constraints (CASCADE, PROTECT, etc.)
Custom Migration Actions (Custom operations in migrations)
Django Cron Job for Database User Management
Get vs. Filter in QuerySets (Detailed comparison)
Model Field Validators and Writing Custom Validators
Django Query Optimization with django-debug-toolbar (deep dive)
ManyToManyFields and Through-Models (Detailed usage)
COALESCE Function and Handling NULL Values
Content Types Framework and GenericForeignKey (Deep dive)
GeneratedField in Django 5 (New feature)
Graph Models Command for ER Diagrams
inspectdb Command for Multiple Databases
Database Routers for Multiple Databases (Advanced usage)