From b1d8924889a40cf7082c17d108fad07532bdee2b Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 15 Jan 2025 14:56:11 +0100 Subject: [PATCH] =?UTF-8?q?A=C3=B1ado=20comandos=20para=20limpieza=20de=20?= =?UTF-8?q?datos=20y=20quito=20libros?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libros/__init__.py | 0 libros/admin.py | 8 -- libros/apps.py | 6 - libros/forms.py | 30 ----- libros/migrations/0001_initial.py | 38 ------- libros/migrations/__init__.py | 0 libros/models.py | 32 ------ libros/tests.py | 3 - libros/urls.py | 21 ---- libros/views.py | 103 ------------------ .../{limpia_datos.py => borra_lyrics.py} | 0 .../management/commands/borra_repostajes.py | 7 ++ reymota/settings.py | 1 - 13 files changed, 7 insertions(+), 242 deletions(-) delete mode 100644 libros/__init__.py delete mode 100644 libros/admin.py delete mode 100644 libros/apps.py delete mode 100644 libros/forms.py delete mode 100644 libros/migrations/0001_initial.py delete mode 100644 libros/migrations/__init__.py delete mode 100644 libros/models.py delete mode 100644 libros/tests.py delete mode 100644 libros/urls.py delete mode 100644 libros/views.py rename lyrics/management/commands/{limpia_datos.py => borra_lyrics.py} (100%) create mode 100644 repostajes/management/commands/borra_repostajes.py diff --git a/libros/__init__.py b/libros/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/libros/admin.py b/libros/admin.py deleted file mode 100644 index 1f28ee6..0000000 --- a/libros/admin.py +++ /dev/null @@ -1,8 +0,0 @@ -from django.contrib import admin - -# Register your models here. - -from .models import Autor, Libro - -admin.site.register(Autor) -admin.site.register(Libro) diff --git a/libros/apps.py b/libros/apps.py deleted file mode 100644 index bf842f1..0000000 --- a/libros/apps.py +++ /dev/null @@ -1,6 +0,0 @@ -from django.apps import AppConfig - - -class LibrosConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'libros' diff --git a/libros/forms.py b/libros/forms.py deleted file mode 100644 index 33b1ea3..0000000 --- a/libros/forms.py +++ /dev/null @@ -1,30 +0,0 @@ -from django import forms - -from .models import Autor, Libro - - -class AutorForm(forms.ModelForm): - class Meta: - model = Autor - fields = ['nombre', 'biografia', 'foto'] - - nombre = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - biografia = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - - -class LibroForm(forms.ModelForm): - class Meta: - model = Libro - fields = ['titulo', 'autor', 'fecha_publicacion', 'descripcion', - 'archivo', 'portada'] - - titulo = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - descripcion = forms.CharField( - widget=forms.TextInput(attrs={'class': 'form-control'})) - - autor = forms.ModelChoiceField( - queryset=Autor.objects.all(), - widget=forms.Select(attrs={'class': 'form-control'})) diff --git a/libros/migrations/0001_initial.py b/libros/migrations/0001_initial.py deleted file mode 100644 index b2717be..0000000 --- a/libros/migrations/0001_initial.py +++ /dev/null @@ -1,38 +0,0 @@ -# Generated by Django 4.2 on 2024-09-09 14:52 - -import django.core.validators -from django.db import migrations, models -import django.db.models.deletion -import libros.models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Autor', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('nombre', models.CharField(max_length=200)), - ('biografia', models.TextField(blank=True, null=True)), - ('foto', models.ImageField(blank=True, null=True, upload_to='autores/')), - ], - ), - migrations.CreateModel( - name='Libro', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('titulo', models.CharField(max_length=200)), - ('fecha_publicacion', models.PositiveBigIntegerField(default=2024, validators=[django.core.validators.MinValueValidator(1984), libros.models.max_value_current_year])), - ('descripcion', models.TextField(blank=True, null=True)), - ('archivo', models.FileField(upload_to='libros/')), - ('portada', models.ImageField(blank=True, null=True, upload_to='portadas/')), - ('autor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='libros.autor')), - ], - ), - ] diff --git a/libros/migrations/__init__.py b/libros/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/libros/models.py b/libros/models.py deleted file mode 100644 index 6e0d538..0000000 --- a/libros/models.py +++ /dev/null @@ -1,32 +0,0 @@ -from django.db import models -import datetime -from django.core.validators import MaxValueValidator, MinValueValidator - - -def current_year(): - return datetime.date.today().year - - -def max_value_current_year(value): - return MaxValueValidator(current_year())(value) - - -class Autor(models.Model): - nombre = models.CharField(max_length=200) - biografia = models.TextField(blank=True, null=True) - foto = models.ImageField(upload_to='autores/', blank=True, null=True) # Nuevo campo - - def __str__(self): - return self.nombre - - -class Libro(models.Model): - titulo = models.CharField(max_length=200) - autor = models.ForeignKey(Autor, on_delete=models.CASCADE) - fecha_publicacion = models.PositiveBigIntegerField(default=current_year(), validators=[MinValueValidator(1984), max_value_current_year]) - descripcion = models.TextField(blank=True, null=True) - archivo = models.FileField(upload_to='libros/') - portada = models.ImageField(upload_to='portadas/', blank=True, null=True) # Nuevo campo - - def __str__(self): - return self.titulo diff --git a/libros/tests.py b/libros/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/libros/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/libros/urls.py b/libros/urls.py deleted file mode 100644 index 7c32fdf..0000000 --- a/libros/urls.py +++ /dev/null @@ -1,21 +0,0 @@ -from django.urls import path - -from . import views - -app_name = 'libros' - -urlpatterns = [ - path('', views.principal, name='principal'), - path('autores/', views.lista_autores, name='lista_autores'), - path('autores/nuevo/', views.nuevo_autor, name='nuevo_autor'), - path('autores//', views.detalle_autor, name='detalle_autor'), - path('autores//editar/', views.editar_autor, name='editar_autor'), - path('autores//eliminar/', views.eliminar_autor, name='eliminar_autor'), - - path('libros/', views.lista_libros, name='lista_libros'), - path('libros/nuevo/', views.nuevo_libro, name='nuevo_libro'), - path('libros//', views.detalle_libro, name='detalle_libro'), - path('libros//editar/', views.editar_libro, name='editar_libro'), - path('libros//eliminar/', views.eliminar_libro, name='eliminar_libro'), - -] diff --git a/libros/views.py b/libros/views.py deleted file mode 100644 index dba9bfc..0000000 --- a/libros/views.py +++ /dev/null @@ -1,103 +0,0 @@ -from django.shortcuts import render, get_object_or_404, redirect -from django.contrib.auth.decorators import login_required - -from .models import Autor, Libro -from .forms import AutorForm, LibroForm - - -@login_required -def principal(request): - return render(request, 'libros/index.html') - - -# Vistas para los autores -@login_required -def lista_autores(request): - autores = Autor.objects.all() - return render(request, 'libros/lista_autores.html', {'autores': autores}) - - -@login_required -def detalle_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - - libros = Libro.objects.filter(autor=autor_id) - - return render(request, 'libros/detalle_autor.html', {'autor': autor, 'libros': libros}) - - -@login_required -def nuevo_autor(request): - if request.method == 'POST': - form = AutorForm(request.POST, request.FILES) - if form.is_valid(): - form.save() - return redirect('libros:lista_autores') - else: - form = AutorForm() - return render(request, 'libros/form_autor.html', {'form': form}) - - -@login_required -def editar_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - if request.method == 'POST': - form = AutorForm(request.POST, request.FILES, instance=autor) - if form.is_valid(): - form.save() - return redirect('libros:lista_autores') - else: - form = AutorForm(instance=autor) - return render(request, 'libros/form_autor.html', {'form': form}) - - -@login_required -def eliminar_autor(request, autor_id): - autor = get_object_or_404(Autor, pk=autor_id) - autor.delete() - return redirect('libros:lista_autores') - - -# Vistas para los libros -@login_required -def lista_libros(request): - libros = Libro.objects.all() - return render(request, 'libros/lista_libros.html', {'libros': libros}) - - -@login_required -def detalle_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - return render(request, 'libros/detalle_libro.html', {'libro': libro}) - - -@login_required -def nuevo_libro(request): - if request.method == 'POST': - form = LibroForm(request.POST, request.FILES) - if form.is_valid(): - form.save() - return redirect('libros:lista_libros') - else: - form = LibroForm() - return render(request, 'libros/form_libro.html', {'form': form}) - - -@login_required -def editar_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - if request.method == 'POST': - form = LibroForm(request.POST, request.FILES, instance=libro) - if form.is_valid(): - form.save() - return redirect('libros:lista_libros') - else: - form = LibroForm(instance=libro) - return render(request, 'libros/form_libro.html', {'form': form}) - - -@login_required -def eliminar_libro(request, libro_id): - libro = get_object_or_404(Libro, pk=libro_id) - libro.delete() - return redirect('libros:lista_libros') diff --git a/lyrics/management/commands/limpia_datos.py b/lyrics/management/commands/borra_lyrics.py similarity index 100% rename from lyrics/management/commands/limpia_datos.py rename to lyrics/management/commands/borra_lyrics.py diff --git a/repostajes/management/commands/borra_repostajes.py b/repostajes/management/commands/borra_repostajes.py new file mode 100644 index 0000000..83a1692 --- /dev/null +++ b/repostajes/management/commands/borra_repostajes.py @@ -0,0 +1,7 @@ +from django.core.management.base import BaseCommand +from repostajes.models import Vehiculo, Repostaje + +class Command(BaseCommand): + def handle(self, *args, **options): + Vehiculo.objects.all().delete() + Repostaje.objects.all().delete() diff --git a/reymota/settings.py b/reymota/settings.py index e510a8e..cf7f2c4 100644 --- a/reymota/settings.py +++ b/reymota/settings.py @@ -40,7 +40,6 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'repostajes', - 'libros', 'reymotausers', 'lyrics', ]