Empecemos por crear el proyecto Universidad y aplicación GestionAcademica, utiliza el comando:
Para crear proyecto:
django-admin startproject nombre_proyecto
Para crear aplicación:
django-admin startapp nombre_app
Damos de alta la app GestionAcademica en la sección Universidad/settings/INSTALLED_APPS, así indicamos que nuestra app trabaje con el proyecto, agrega lo siguiente:
Modelo
Ahora creamos el modelo que contiene tres tablas Alumno, Curso y Matricula
Código:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
# Create your models here.
class Alumno(models.Model):
ApellidoPaterno = models.CharField(max_length= 35)
ApellidoMaterno = models.CharField(max_length= 35)
Nombres = models.CharField(max_length= 35)
DNI = models.CharField(max_length= 8)
FechaNacimiento = models.DateField()
SEXOS = (('F','Femenino'),('M','Masculino'))
sexo = models.CharField(max_length= 1,choices= SEXOS, default='M')
def NombreCompleto(self):
cadena="{0} {1} , {2}"
return cadena.format(self.ApellidoPaterno,self.ApellidoMaterno,self.Nombres)
def __str__(self):
return self.NombreCompleto()
class Curso(models.Model):
Nombre = models.CharField(max_length= 50)
Creditos = models.PositiveSmallIntegerField(default= 1)
Estado = models.BooleanField(default= True)
def __str__(self):
return "{0} -> ({1})".format(self.Nombre,self.Creditos)
class Matricula(models.Model):
Alumno = models.ForeignKey(Alumno,null= False,blank = False,on_delete=models.CASCADE)
Curso = models.ForeignKey(Curso,null= False,blank = False,on_delete=models.CASCADE)
FechaMatricula = models.DateTimeField(auto_now_add = True)
def __str__(self):
cadena="{0} inscrito en: {1}"
return cadena.format(self.Alumno,self.Curso.Nombre)
Dimos formato de presentación con el metodo __str__
Con esto se presentara con "nombre del curso" seguido de total de "créditos".
Ahora en Universidad/admin.py se agrega los modelos.
Código:
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.contrib import admin # Register your models here. from.models import Alumno from.models import Curso from.models import Matricula admin.site.register(Alumno) admin.site.register(Curso) admin.site.register(Matricula)
Una vez terminado, vamos a crear los modelos y migrar.
python manage.py makemigrations
python manage.py migrate
Ahora si corremos el servidor con el comando python manage.py runserver.
Haz creado con éxito en tu navegador ingresa a la siguiente dirección http://127.0.0.1:8000/.
Para administrar, modificar y agregar los datos en nuestra base de datos, vamos a crear un superusuario.
python manage.py createsuperuser
De nuevo corre el servidor y ve a http://127.0.0.1:8000/admin, con tu usuario y contraseña que registraste.
Visualizamos nuestra aplicación con nuestros 3 modelos.
Tablas
Nos quedara de esta manera:
Alumno
Con el método __str__Curso
Matricula
No hay comentarios:
Publicar un comentario