mirror of
https://github.com/adrigongv23/G26---Telemetry-Software.git
synced 2026-08-25 19:43:16 +02:00
Admins.py configurados correctamente dados los cambios realizado en la base de datos
This commit is contained in:
parent
99426f7335
commit
e64a08326c
26 changed files with 416 additions and 34 deletions
Binary file not shown.
Binary file not shown.
|
|
@ -1,8 +1,50 @@
|
|||
from django.contrib import admin
|
||||
from .models import TestGeneral
|
||||
from .models import Prueba, Telemetria, Variable
|
||||
|
||||
@admin.register(TestGeneral)
|
||||
class TestGeneralAdmin(admin.ModelAdmin):
|
||||
list_display = ('nombre', 'fecha_inicio', 'fecha_fin', 'categoria', 'temporada')
|
||||
# INLINES
|
||||
# Usamos inlines que nos sirve para cuando se este creando un registro de Telemetría, podremos añadir sus Variables en la misma pantalla sin tener que ir a otro menú
|
||||
class VariableInline(admin.TabularInline):
|
||||
model = Variable
|
||||
extra = 1
|
||||
|
||||
class TelemetriaInline(admin.TabularInline):
|
||||
model = Telemetria
|
||||
extra = 0
|
||||
|
||||
# PANELES DE ADMINISTRACIÓN
|
||||
@admin.register(Prueba)
|
||||
class PruebaAdmin(admin.ModelAdmin):
|
||||
list_display = ('nombre', 'categoria', 'fecha_inicio', 'temporada', 'realizado_por')
|
||||
|
||||
# Filtros para encontrar los test dado una temporada y una área técnica
|
||||
list_filter = ('categoria', 'temporada')
|
||||
search_fields = ('nombre', 'descripcion', 'resultados')
|
||||
|
||||
# Buscador de texto
|
||||
search_fields = ('nombre', 'descripcion', 'resultados')
|
||||
|
||||
# Una barra de navegación en la parte superior, para poder hacer clic en un año y en un mes y mostrar todos los datos de ese me
|
||||
date_hierarchy = 'fecha_inicio'
|
||||
|
||||
# Mostramos los archivos de telemetría directamente dentro del test
|
||||
inlines = [TelemetriaInline]
|
||||
|
||||
|
||||
@admin.register(Telemetria)
|
||||
class TelemetriaAdmin(admin.ModelAdmin):
|
||||
list_display = ('nombre', 'prueba', 'fecha_subida')
|
||||
|
||||
# Filtra test de telemetría basandose en la temporada o área tecnica de su test correspondiente
|
||||
list_filter = ('prueba__temporada', 'prueba__categoria')
|
||||
|
||||
# Buscador del nombre de la telemetría o por el nombre de la prueba
|
||||
search_fields = ('nombre', 'prueba__nombre')
|
||||
|
||||
# Mostramos las variables de su telemetría
|
||||
inlines = [VariableInline]
|
||||
|
||||
|
||||
@admin.register(Variable)
|
||||
class VariableAdmin(admin.ModelAdmin):
|
||||
# Aunque se pueden crear desde el Inline, dejamos su tabla propia por si fuese necesario, por prevenir
|
||||
list_display = ('nombre', 'unidad_medida', 'telemetria')
|
||||
search_fields = ('nombre', 'telemetria__nombre')
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
# Generated by Django 6.0.2 on 2026-03-06 19:29
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pruebas', '0001_initial'),
|
||||
('temporadas', '0002_temporada_miembros'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Prueba',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('nombre', models.CharField(max_length=150, verbose_name='Nombre del Test')),
|
||||
('descripcion', models.TextField(verbose_name='Objetivo / Descripción de la prueba')),
|
||||
('fecha_inicio', models.DateField()),
|
||||
('fecha_fin', models.DateField()),
|
||||
('categoria', models.CharField(choices=[('aerodinamica', 'Aerodinámica'), ('chasis', 'Chasis'), ('epowertrain', 'E-Powertrain'), ('electronica', 'Electrónica'), ('sdf', 'SDF'), ('motor_transmision', 'Motor & Transmisión'), ('software', 'Software'), ('general', 'General')], default='general', max_length=30)),
|
||||
('resultados', models.TextField(blank=True, null=True, verbose_name='Conclusiones y Resultados')),
|
||||
('realizado_por', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='pruebas_realizadas', to=settings.AUTH_USER_MODEL, verbose_name='Realizado por')),
|
||||
('temporada', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pruebas', to='temporadas.temporada')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Prueba',
|
||||
'verbose_name_plural': 'Pruebas',
|
||||
'ordering': ['-fecha_inicio'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Telemetria',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('nombre', models.CharField(max_length=100, verbose_name='Nombre del registro')),
|
||||
('archivo_csv', models.FileField(upload_to='telemetria/archivos_csv/', verbose_name='Archivo de Datos (CSV)')),
|
||||
('fecha_subida', models.DateTimeField(auto_now_add=True)),
|
||||
('prueba', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='archivos_telemetria', to='pruebas.prueba')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Registro de Telemetría',
|
||||
'verbose_name_plural': 'Registros de Telemetría',
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Variable',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('nombre', models.CharField(max_length=50, verbose_name='Nombre ')),
|
||||
('unidad_medida', models.CharField(blank=True, max_length=20, null=True, verbose_name='Unidad de medida')),
|
||||
('descripcion', models.TextField(blank=True, null=True)),
|
||||
('telemetria', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='variables', to='pruebas.telemetria')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Variable de Telemetría',
|
||||
'verbose_name_plural': 'Variables de Telemetría',
|
||||
},
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='TestGeneral',
|
||||
),
|
||||
]
|
||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue