Models & Migration


Prerequites For MySQL

settings.py - /path/projectdir/theproject
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'test',
        'PASSWORD': 'pwd',
        'HOST':'localhost',
        'PORT':'3306',
    }
}
...

$ python manage.py migrate

Models

models.py - /path/projectdir/theapp
from django.db import models

class Students(models.Model):
    id = models.BigAutoField(primary_key=True)
    name = models.CharField(max_length=255)
    email = models.CharField(unique=True, max_length=255)
    gender = models.CharField(max_length=255)
    admission_date = models.DateField()
    age = models.IntegerField(default=0)
    percent = models.FloatField()
    
    class Meta:
        managed = False
        db_table = 'students'

    def __str__(self):
        return self.name

    ...
    def snippet(self):
            return self.name[:50] + '...'
    ...
    
# in a template
{{ student.snippet }}  
            
...

$ python manage.py makemigrations
$ python manage.py migrate