abhilashps.meUnderstanding Django Proxy Models: Usage, Benefits, and LimitationsWhen we first learn Django, models are usually explained in a very concrete way. One model maps to one database table, the relationship is one-to-one, and each row represents an instance of that model. This mental model works well for most use cases ...Jan 19·21 min read
abhilashps.meStructuring Responsibilities in Django REST Framework ProjectsIn a Django REST Framework application, how should responsibilities be divided? When we build a DRF APIs, we touch many layers: models for saving data, serializers for validating input, views for endpoints, and sometimes extra structure like services...Jan 15·4 min read
abhilashps.meConceptual Abstraction: A Design Idea That Predates RESTDefinition Conceptual abstraction is a long-standing principle in software design—one that appears wherever systems are expected to survive change. When conceptual abstraction is discussed in the context of REST, it can sometimes feel like a REST-spe...Jan 13·5 min read
abhilashps.meInvariants and Their Role in Software SystemsDefinition When we design software systems, we often discuss rules, validations, and best practices. These concepts are familiar and useful, but they operate at the surface level of system behavior. Beneath all of them lies a much stronger idea—one t...Jan 12·5 min read
abhilashps.meAuthorization in Django: From Permissions to Policies — Part 13 (Capstone) — Authorization Is Not SecurityBy this point in the series, authorization should no longer feel like a feature.It should feel like a boundary. — Permissions define who may attempt an action.— Policies define what is valid now.— Invariants define what must never be false. Together,...Jan 12·6 min read