Book Image

Becoming an Enterprise Django Developer

By : Michael Dinder
Book Image

Becoming an Enterprise Django Developer

By: Michael Dinder

Overview of this book

Django is a powerful framework but choosing the right add-ons that match the scale and scope of your enterprise projects can be tricky. This book will help you explore the multifarious options available for enterprise Django development. Countless organizations are already using Django and more migrating to it, unleashing the power of Python with many different packages and dependencies, including AI technologies. This practical guide will help you understand practices, blueprints, and design decisions to put Django to work the way you want it to. You’ll learn various ways in which data can be rendered onto a page and discover the power of Django for large-scale production applications. Starting with the basics of getting an enterprise project up and running, you'll get to grips with maintaining the project throughout its lifecycle while learning what the Django application lifecycle is. By the end of this book, you'll have learned how to build and deploy a Django project to the web and implement various components into the site.
Table of Contents (15 chapters)
1
Part 1 – Starting a Project
5
Part 2 – Django Components
10
Part 3 – Advanced Django Components

Extending models

Extending a model is a way to write a set of fields and methods that can be shared in many different classes. This is also known as inheritance, which is a fundamental principle of the Python language, letting us write code once and reuse it over and over again. It is also a way to reuse or modify a class provided by Django itself, such as the built-in User model, which is a very common model to extend.

Next, we will practice extending our practice model called engine2 and then extend the Django User model, turning it into the Seller model. This would make the Seller object related to a Vehicle and also act as a User, provided with permission-based roles and permission group capabilities.

Extending basic model classes

Extending regular model classes is pretty easy to do. Follow these steps to extend the engine2 practice class:

  1. In your /chapter_3/models.py file, in the class named engine2, keep the name field as is and then add a new field called vehicle_model...