Просмотр исходного кода

api buscando por nombre de artista y de album

Celestino Rey 1 год назад
Родитель
Сommit
eb29c4c297

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

@@ -26,10 +26,10 @@ class Command(BaseCommand):
             albumes_creados = 0
             for album_data in datos:
                 try:
-                    artista = Artista.objects.get(id=album_data["artist"])
+                    artista = Artista.objects.get(nombre=album_data["artista_nombre"])
 
                     creado = Album.objects.create(
-                        artist_id=artista.id,
+                        artist=artista,
                         name=album_data['name'],
                         year=album_data['year'],
                         cover_image=album_data['cover_image'],
@@ -38,7 +38,7 @@ class Command(BaseCommand):
                         albumes_creados += 1
 
                 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.'))
 

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

@@ -26,13 +26,13 @@ class Command(BaseCommand):
             canciones_creados = 0
             for cancion_data in datos:
                 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(
-                        album_id=album.id,
+                        album=album,
+                        artist=artista,
                         title=cancion_data['title'],
-                        artist_id=artista.id,
                         year=cancion_data['year'],
                         lyrics=cancion_data['lyrics'],
                         pista=cancion_data['pista'],

+ 7 - 2
src/lyrics/serializers.py

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