Modelos de la Aplicación

Este módulo define la estructura de la base de datos para la aplicación corelab.

class corelab.models.Ensayo(*args, **kwargs)[fuente]

Representa un tipo de ensayo mecánico (ej. Tensión, Compresión).

Este modelo es actualmente un placeholder y podría expandirse en el futuro para almacenar parámetros específicos de cada tipo de ensayo.

tipo

El nombre del ensayo.

Type:

CharField

descripcion

Una descripción opcional más detallada.

Type:

TextField

exception DoesNotExist
exception MultipleObjectsReturned
class corelab.models.Material(*args, **kwargs)[fuente]

Representa un material único y sus propiedades intrínsecas en la base de datos.

Este modelo es la entidad central del proyecto. Almacena la información identificativa clave de cada material que puede ser seleccionado y utilizado en las simulaciones de ensayos mecánicos.

Cada instancia de este modelo corresponde a una entrada única en el catálogo de materiales del simulador.

class Categoria(*values)[fuente]

Define las categorías de materiales permitidas como una enumeración fija.

El uso de models.TextChoices es una buena práctica de Django que garantiza la integridad de los datos, ya que el campo “categoria” solo puede aceptar uno de estos valores.

Cada miembro de la enumeración es una tupla: (valor_almacenado_en_db, etiqueta_legible_para_humanos)

exception DoesNotExist
exception MultipleObjectsReturned
property nombre_display

Propiedad calculada que devuelve el nombre del material en un formato limpio y legible para ser mostrado en la interfaz de usuario (UI).

Este método no se almacena en la base de datos, sino que se calcula en tiempo real cada vez que se accede a él.

Ejemplo

Si self.nombre es «AISI_1020_Steel», self.nombre_display devolverá «AISI 1020 Steel».

Devuelve:

El nombre del material con los guiones bajos reemplazados por espacios.

Tipo del valor devuelto:

str

class corelab.models.Simulacion(*args, **kwargs)[fuente]

Registra la ejecución de un ensayo específico sobre un material.

Este modelo actúa como un registro histórico, vinculando un Material y un Ensayo y almacenando los resultados generados.

material

Una relación con el material que fue ensayado.

Type:

ForeignKey

ensayo

Una relación con el tipo de ensayo que se realizó.

Type:

ForeignKey

resultados

Un campo para almacenar los datos crudos de la simulación en formato JSON.

Type:

JSONField

fecha_creacion

La fecha y hora en que se creó el registro.

Type:

DateTimeField

exception DoesNotExist
exception MultipleObjectsReturned