Django has built-in support for schema migrations. Below, we’ll walk through the process of setting up a Django project with Nile and running your first migration.
1

Install Django

If you don’t already have Django installed, you can install it using pip:
pip install django
2

Create a new Django project

django-admin startproject myproject
This will create a new Django project in the myproject directory.
3

Create a new app

cd myproject
python manage.py startapp myapp
This will create a new Django app in the myproject directory.If all went well, the myproject directory should now have the following structure:
myproject/
    manage.py
    myproject/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    myapp/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
4

Setting up Nile Database

Edit the myproject/settings.py file to include the Nile database URL:
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": "mydb",
        "USER": "myuser",
        "PASSWORD": "mypassword",
        "HOST": "us-west-2.db.thenile.dev",
        "PORT": "5432",
    }
}
You can find your database credentials in the Nile dashboard.
5

Run the migrations built-in migrations

Django has several default modules that need database tables created. To create these tables, run the following command:
python manage.py migrate
This will create the tables in the database.
6

Create a new model

In myapp/models.py, create a new model:
from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=255)
And update the installed apps in myproject/settings.py to include your app:
INSTALLED_APPS = [
    'myapp.apps.MyappConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
7

Create a new migration

To create a new migration, run the following command:
python manage.py makemigrations myapp
This will create a new migration file in the myapp/migrations directory.
8

Run the migration

To run the migration, run the following command:
python manage.py migrate
This will apply the migration to the database.Connect to your database and see a new table created, called myapp_mymodel.