Ir al contenido principal

Primer modelo en Django

Un modelo es la conexión con la base de datos en Django. Cada modelo representa una tabla en la base de datos.

Los atributos en los modelos, representan a los campos en las tablas.

Los nombres de los modelos tiene que ir en singular y con la primer letra en mayuscula.

Los modelos heredan de:

django.db.models.Model

Los modelos a los que no se le asigna un id, el ORM se lo asigna automáticamente un campo primary key autoincremental.

from django.db import models

# Create your models here.

class Tarea(models.Model):
    idTarea = models.AutoField(primary_key=True)
    titulo = models.CharField(max_length=50)

Preparar los modelos para pasar a la base de datos

python manage.py makemigrations


Al preparar la migracion se crea un archivo de migracion.


Pasar cambios de modelos a base de datos

python manage.py migrate


Cuando se crea la tabla, el nombre queda "modelo"_"nombre de la clase"


Documentacion

Comentarios

Entradas populares de este blog

Instalar Gdebi en ubuntu 12.04

Gdebi es para poder instalar paquetes .deb en ubuntu.Para empezar hay que abrir un terminal o consola y ejecutar esta linea. sudo aptitude install gdebi En el caso de no tener instalado “aptitude” hay dos opciones, usar “apt-get” o instalar “aptitude”. Para instalar “aptitude”: sudo apt-get install aptitude o para instalar con apt-get: sudo apt-get install gdebi

Instalación de ElasticSearch 8 en Mac M1

Descargar version de java compatible para Mac M1 https://download.oracle.com/java/17/latest/jdk-17_macos-aarch64_bin.dmg   https://www.oracle.com/java/technologies/downloads/#jdk17-mac Instalar jdk Para saber la ruta donde quedo instalado java: which java Si sale "/usr/bin/java" pero no dice donde esta la ruta real, se puede usar la siguiente opcion: echo $(/usr/libexec/java_home) Viendo que eso trae la ruta, usar eso(sin el echo) dentro de la variable de entorno. Configurar variables de entorno: nano ~/.bash_profile Agregar al final de todo las siguientes lineas: export ES_HOME=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3 export ES_PATH_CONF=/Users/mauro/Programacion/Herramientas/elasticsearch-8.1.3/config export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib Descargar la version para "Mac aarch64" https://www.el...

Relaciones en modelos de Django

Formas de relacion disponibles ForeignKey OneToOneField ManyToManyField id = models.ForeignKey(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.OneToOneField(NombreModelo, null=False, blank=False, on_delete=models.CASCADE) id = models.ManyToManyField(NombreModelo) Ejemplo from django.db import models from django.utils.timezone import now class Proyecto(models.Model): idProyecto = models.AutoField(primary_key=True, null=False, blank=False) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.DateTimeField(auto_now=True) from django.db import models from apps.proyecto.models import Proyecto from django.utils.timezone import now class SubTarea(models.Model): idSubTarea = models.AutoField(primary_key=True) titulo = models.CharField(max_length=50) fecha_crecion = models.DateTimeField(default=now, blank=True) fecha_ult_mod = models.Dat...