Modelo de aplicación básico de Django: realizar migraciones y migrar

En este artículo, crearemos un modelo básico de una aplicación. Digamos que tenemos un proyecto geeksforgeeks en el que crearemos una nueva aplicación para simplificar y crear unidades de modelos independientes.

Para crear un comando de ejecución de aplicación a través de la terminal:

python manage.py startapp geeks

y agregue geeks a la lista INSTALLED_APPS en settings.py. Ahora la estructura de directorios de la aplicación será,

Django-Basic-App-Model-Makemigrations-and-MigrateDjango-basic-app-structure-

Ahora ve a la models.py aplicación geeks, aquí crearemos nuestro primer modelo. Para crear un modelo, primero debe importar el modelo de la django.db.modelsbiblioteca.

Ahora models.py se verá como,

# importing Model from django
from django.db.models import Model

De acuerdo con la documentación de Django , un modelo es la fuente única y definitiva de información sobre sus datos. Contiene los campos y comportamientos esenciales de los datos que está almacenando. Generalmente, cada modelo se asigna a una sola tabla de base de datos.

Django proporciona una serie de campos y métodos predefinidos para crear un modelo. Para crear un modelo, primero debe especificar un nombre de modelo.

Ingrese el siguiente código enmodels.py

from django.db import models
from django.db.models import Model
# Created an empty model 
class GeeksModel(Model):
    pass

La sintaxis similar siempre se usaría para crear un modelo.
Después de realizar cualquier cambio en cualquiera de los archivos de modelos de la aplicación, debe ejecutar el siguiente comando desde la terminal

 Python manage.py makemigrations

Después de este comando, ejecute el siguiente comando para finalmente implementar los cambios en la base de datos en consecuencia

 Python manage.py migrate 

Después de ejecutar makemigrations y migrar, se habrá creado una nueva tabla en la base de datos. Puede consultarlo desde geeks -> makemigrations -> 0001_initial.py.

# Generated by Django 2.2.5 on 2019-09-25 06:00
  
from django.db import migrations, models
  
  
class Migration(migrations.Migration):
    initial = True
  
    dependencies = []
  
    operations = [
        migrations.CreateModel(
            name ='GeeksModel',
            fields =[
                ('id', models.AutoField(auto_created = True,
                  primary_key = True, serialize = False,
                  verbose_name ='ID')),], ),
    ]

Entendamos claramente lo que hacen Makemigrations y Migrate.

Hacer migraciones –

makemigrations básicamente genera los comandos SQL para las aplicaciones preinstaladas (que se pueden ver en las aplicaciones instaladas en settings.py) y el modelo de las aplicaciones recién creadas que agrega en las aplicaciones instaladas. No ejecuta esos comandos en su archivo de base de datos. Por lo tanto, las tablas no se crean después de realizar migraciones.

Después de aplicar makemigrations, puede ver esos comandos SQL con sqlmigrate, que muestra todos los comandos SQL generados por makemigrations. Para obtener más información sobre makemigrations, visite – Modelo de aplicación Django – Comando Python manage.py makemigrations

Migrar –

migre ejecuta esos comandos SQL en el archivo de la base de datos. Entonces, después de ejecutar la migración, todas las tablas de sus aplicaciones instaladas se crean en su archivo de base de datos.

Puede confirmar esto instalando el navegador sqlite y abriendo db.sqlite3puede ver todas las tablas que aparecen en el archivo de la base de datos después de ejecutar el comando de migración. Para obtener más información sobre makemigrations, visite Django manage.py comando de migración | Python

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *