from django.db import models

class Paciente(models.Model):
    nombre = models.CharField(max_length=100)
    edad = models.IntegerField()
    fecha_consulta = models.DateField(auto_now_add=True)
    motivo_consulta = models.TextField()
    diagnostico = models.TextField(blank=True)
    tratamiento_propuesto = models.TextField(blank=True)
    tratamiento_realizado = models.TextField(blank=True)
    observaciones = models.TextField(blank=True)

    def __str__(self):
        return f"{self.nombre} - {self.fecha_consulta}"

class ArchivoPaciente(models.Model):
    paciente = models.ForeignKey(Paciente, on_delete=models.CASCADE, related_name='archivos')
    archivo = models.FileField(upload_to='archivos_pacientes/')
    descripcion = models.CharField(max_length=255, blank=True)
    fecha_subida = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"Archivo de {self.paciente.nombre} - {self.descripcion}"
    
class NotaMedica(models.Model):
    paciente = models.ForeignKey(Paciente, on_delete=models.CASCADE, related_name='notas_medicas')
    fecha = models.DateTimeField(auto_now_add=True)
    contenido = models.TextField()

    def __str__(self):
        return f"Nota {self.fecha.strftime('%Y-%m-%d %H:%M')} - {self.paciente.nombre}"

# models.py

class Diente(models.Model):
    paciente = models.ForeignKey(Paciente, on_delete=models.CASCADE, related_name='dientes')
    numero = models.PositiveSmallIntegerField()  # Números del 11 al 48 (odontología universal)
    nota = models.TextField(blank=True)

    class Meta:
        unique_together = ('paciente', 'numero')

    def __str__(self):
        return f"Diente {self.numero} de {self.paciente.nombre}"
