Creating Models and Tables in DataBase Django.How

Author avatar wrote on 26/05/2022

To create a table follow these stems:

  • Create the model in the model.py folder in its app folder
  • Make migration files python manage.py makemigrations this will create the migration files
  • Run the migration python manage.py migrat and that will create the tables

Notes:

  • Adding from django.db import models is a must

  • To use a foreign key you need to import the model from realtors.models import Realtor

  • on_delete=models.DO_NOTHING tells what we want to happen if the record of the foreign key deleted

  • To create a field of type date format you need to import datetime model from datetime import datetime

  • To specify a folder for uploads use upload_to=’photos/%y/%m/%d’ you need to run pip install Pillow

Some parameters to use:

  • (max_length=200)

  • (blank=True) can be null

  • (max_digits=2, decimal_places=1) use with decimal

  • (default=0) set a default value

Here are some models examples:

Listings Model: listings/model.py

Relator Model: realtors/model.py


from django.db import models
from datetime import datetime

class Realtor(models.Model):
    name = models.CharField(max_length=200)
    photo = models.ImageField(upload_to='photos/%y/%m/%d', blank=True)
    description = models.TextField(blank=True)
    phone = models.CharField(max_length=20)
    email = models.CharField(max_length=50)
    is_mvp = models.BooleanField(default=False)
    hire_date = models.DateTimeField(default=datetime.now, blank=True)
    def __str__(self):
        return self.name
CRUDgen Django CRUD generator