Ir al contenido principal

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.DateTimeField(auto_now=True)

class Tarea(models.Model):
    idTarea = models.AutoField(primary_key=True)
    titulo = models.CharField(max_length=50)
    fecha_crecion = models.DateTimeField(default=now, blank=True)
    fecha_ult_mod = models.DateTimeField(auto_now=True)
    idProyecto = models.ForeignKey(Proyecto, null=True, blank=True, on_delete=models.CASCADE)
    idSubTarea = models.ForeignKey(SubTarea, null=True, blank=True, on_delete=models.CASCADE)

Links relevantes

Comentarios

Entradas populares de este blog

Crear Excel con C# sin librerias de Office - SpreadsheetLight

En este ejemplo se crea un archivo Excel(xlsx) con dos hojas. La libreria hay que usar es SpreadsheetLight. El codigo es de un proyecto de consola y logicamente le falta el: using SpreadsheetLight;

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