62 lines
3.1 KiB
Python
62 lines
3.1 KiB
Python
from django.db import models
|
|
from django.contrib.auth.models import User
|
|
import os
|
|
from model_utils import Choices
|
|
from universidad.models import laboratorio, asignatura, area, material
|
|
|
|
# Create your models here.
|
|
|
|
class lab(models.Model):
|
|
USO = Choices('Practica', 'Clase', 'Libre')
|
|
usuario = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
|
|
id_lab = models.ForeignKey(laboratorio, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Laboratorio')
|
|
id_asig = models.ForeignKey(asignatura, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Asignatura')
|
|
id_area = models.ForeignKey(area, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Area')
|
|
id_mat = models.ForeignKey(material, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Material')
|
|
uso = models.CharField(choices=USO, default=USO.Clase, max_length=10, verbose_name='Tipo de Uso')
|
|
foto = models.ImageField(upload_to='foto/', blank=True)
|
|
entrada = models.DateField(auto_now_add=True, verbose_name='Entrada')
|
|
salida = models.DateField(auto_now=True, verbose_name='Salida')
|
|
fecha_alta = models.DateField(auto_now_add=True, verbose_name='Fecha alta')
|
|
fecha_actualizacion = models.DateField(auto_now=True, verbose_name='Fecha de Actualización')
|
|
|
|
def delete(self, *args, **kwargs):
|
|
if os.path.isfile(self.foto.path):
|
|
os.remove(self.foto.path)
|
|
super(User, self).delete(*args, **kwargs)
|
|
|
|
def __str__(self):
|
|
return self.entrada
|
|
|
|
class Meta:
|
|
verbose_name = 'Laboratorio'
|
|
verbose_name_plural = 'Laboratorios'
|
|
ordering = ['-entrada']
|
|
|
|
|
|
class labComputo(models.Model):
|
|
USO = Choices('Practica', 'Clase', 'Libre')
|
|
usuario = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
|
|
id_lab = models.ForeignKey(laboratorio, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Laboratorio')
|
|
id_asig = models.ForeignKey(asignatura, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Asignatura')
|
|
id_area = models.ForeignKey(area, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Area')
|
|
id_mat = models.ForeignKey(material, on_delete=models.CASCADE, null=True, blank=True, verbose_name='Material')
|
|
uso = models.CharField(choices=USO, default=USO.Clase, max_length=10, verbose_name='Tipo de Uso')
|
|
foto = models.ImageField(upload_to='foto/', blank=True)
|
|
entrada = models.DateTimeField(auto_now_add=True, verbose_name='Entrada')
|
|
salida = models.DateTimeField(auto_now=True, verbose_name='Salida')
|
|
fecha_alta = models.DateTimeField(auto_now_add=True, verbose_name='Fecha alta')
|
|
fecha_actualizacion = models.DateTimeField(auto_now=True, verbose_name='Fecha de Actualización')
|
|
|
|
def delete(self, *args, **kwargs):
|
|
if os.path.isfile(self.foto.path):
|
|
os.remove(self.foto.path)
|
|
super(User, self).delete(*args, **kwargs)
|
|
|
|
def __str__(self):
|
|
return self.entrada
|
|
|
|
class Meta:
|
|
verbose_name = 'Laboratorio'
|
|
verbose_name_plural = 'Laboratorios'
|
|
ordering = ['-id'] |