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á,
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.models
biblioteca.
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.sqlite3
puede 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