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)

Mar 4, 2025 - 13:49
 0
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)