Browse Source

api buscando por nombre de artista y de album

main
Celestino Rey 9 months ago
parent
commit
eb29c4c297
3 changed files with 14 additions and 9 deletions
  1. +3
    -3
      src/lyrics/management/commands/importar_albumes.py
  2. +4
    -4
      src/lyrics/management/commands/importar_canciones.py
  3. +7
    -2
      src/lyrics/serializers.py

+ 3
- 3
src/lyrics/management/commands/importar_albumes.py View File

@ -26,10 +26,10 @@ class Command(BaseCommand):
albumes_creados = 0 albumes_creados = 0
for album_data in datos: for album_data in datos:
try: try:
artista = Artista.objects.get(id=album_data["artist"])
artista = Artista.objects.get(nombre=album_data["artista_nombre"])
creado = Album.objects.create( creado = Album.objects.create(
artist_id=artista.id,
artist=artista,
name=album_data['name'], name=album_data['name'],
year=album_data['year'], year=album_data['year'],
cover_image=album_data['cover_image'], cover_image=album_data['cover_image'],
@ -38,7 +38,7 @@ class Command(BaseCommand):
albumes_creados += 1 albumes_creados += 1
except Artista.DoesNotExist: except Artista.DoesNotExist:
self.stderr.write(self.style.ERROR(f"Artista '{album_data['artista']}' no encontrado."))
self.stderr.write(self.style.ERROR(f"Artista '{album_data['artista_nombre']}' no encontrado."))
self.stdout.write(self.style.SUCCESS(f'Se importaron {albumes_creados} albumes correctamente.')) self.stdout.write(self.style.SUCCESS(f'Se importaron {albumes_creados} albumes correctamente.'))


+ 4
- 4
src/lyrics/management/commands/importar_canciones.py View File

@ -26,13 +26,13 @@ class Command(BaseCommand):
canciones_creados = 0 canciones_creados = 0
for cancion_data in datos: for cancion_data in datos:
try: try:
album = Album.objects.get(id=cancion_data["album"])
artista = Artista.objects.get(id=cancion_data["artist"])
album = Album.objects.get(name=cancion_data["album_nombre"])
artista = Artista.objects.get(nombre=cancion_data["artista_nombre"])
creado = Song.objects.create( creado = Song.objects.create(
album_id=album.id,
album=album,
artist=artista,
title=cancion_data['title'], title=cancion_data['title'],
artist_id=artista.id,
year=cancion_data['year'], year=cancion_data['year'],
lyrics=cancion_data['lyrics'], lyrics=cancion_data['lyrics'],
pista=cancion_data['pista'], pista=cancion_data['pista'],


+ 7
- 2
src/lyrics/serializers.py View File

@ -9,12 +9,17 @@ class ArtistaSerializer(serializers.ModelSerializer):
class AlbumSerializer(serializers.ModelSerializer): class AlbumSerializer(serializers.ModelSerializer):
artista_nombre = serializers.CharField(source='artist.nombre', read_only=True)
class Meta: class Meta:
model = Album model = Album
fields = '__all__' # Incluir todos los campos del modelo
fields = ['name', 'year', 'cover_image', 'artista_nombre']
class CancionSerializer(serializers.ModelSerializer): class CancionSerializer(serializers.ModelSerializer):
artista_nombre = serializers.CharField(source='artist.nombre', read_only=True)
album_nombre = serializers.CharField(source='album.name', read_only=True)
class Meta: class Meta:
model = Song model = Song
fields = '__all__' # Incluir todos los campos del modelo
fields = ['title', 'year', 'lyrics', 'pista', 'artista_nombre', 'album_nombre']

Loading…
Cancel
Save