Modelos de Inventario¶
Modelos relacionados con el catálogo de propiedades.
Casa¶
Representa una vivienda en el inventario.
class Casa(models.Model):
# Identificación
clave = models.CharField(max_length=50, unique=True)
proyecto = models.CharField(max_length=100)
tipo_vivienda = models.CharField(max_length=50)
modelo = models.CharField(max_length=50, blank=True)
# Ubicación
plaza = models.CharField(max_length=50)
direccion = models.TextField()
colonia = models.CharField(max_length=100)
cp = models.CharField(max_length=10)
latitude = models.DecimalField(max_digits=9, decimal_places=6, null=True)
longitude = models.DecimalField(max_digits=9, decimal_places=6, null=True)
# Características
recamaras = models.IntegerField()
banos = models.DecimalField(max_digits=3, decimal_places=1)
superficie_terreno = models.DecimalField(max_digits=10, decimal_places=2)
superficie_construccion = models.DecimalField(max_digits=10, decimal_places=2)
# Precios
precio_venta = models.DecimalField(max_digits=12, decimal_places=2)
precio_contado = models.DecimalField(max_digits=12, decimal_places=2)
enganche = models.DecimalField(max_digits=12, decimal_places=2)
# Estado
estatus = models.CharField(max_length=50)
disponible = models.BooleanField(default=True)
# Auditoría
usuario_creacion = models.ForeignKey(User, on_delete=models.PROTECT)
fecha_creacion = models.DateTimeField(auto_now_add=True)
fecha_modificacion = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'inventario_casa'
ordering = ['-fecha_creacion']
indexes = [
models.Index(fields=['plaza', 'disponible']),
models.Index(fields=['clave']),
]
PreInventario¶
Propiedades en proceso de ingreso al inventario.
class PreInventario(models.Model):
clave = models.CharField(max_length=50)
proyecto = models.CharField(max_length=100)
estatus = models.CharField(max_length=50)
fecha_ingreso = models.DateField()
observaciones = models.TextField(blank=True)
VisitaRecuperacion¶
Registro de visitas para recuperación de propiedades.
class VisitaRecuperacion(models.Model):
casa = models.ForeignKey(Casa, on_delete=models.CASCADE)
fecha_visita = models.DateField()
tipo_visita = models.CharField(max_length=50)
observaciones = models.TextField()
responsable = models.ForeignKey(User, on_delete=models.PROTECT)
AnexoCasa¶
Archivos adjuntos de casas.
class AnexoCasa(AnexoBase):
casa = models.ForeignKey(Casa, on_delete=models.CASCADE,
related_name='anexos')
Ver: Módulo Inventario