def put(self, request, id): artista = self.get_object(id) serializer = ArtistaSerializer(artista, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_200_OK) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request): filtro_genero = request.GET.get('genero') if filtro_genero: artistas = ArtistaModel.objects.filter( genero__icontains=filtro_genero).all() else: artistas = ArtistaModel.objects.all() serializer = ArtistaSerializer(artistas, many=True) return Response(serializer.data)
def post(self, request): data = request.data self.valida_preenchimento(data) self.valida_redundancia(data) artista = ArtistaModel() artista.nome = data.get('nome') artista.genero = data.get('genero') artista.save() serializer = ArtistaSerializer(artista) return Response(serializer.data)
class MusicaSerializer(serializers.Serializer): id = serializers.IntegerField(read_only=True) nome = serializers.CharField(max_length=255) genero = serializers.CharField(read_only=True) artista = ArtistaSerializer(many=True, read_only=True) def create(self, validated_data): musica = Musica.objects.create(**validated_data) return musica def update(self, instance, validated_data): instance.nome = validated_data.get('nome') instance.genero = validated_data.get('genero') instance.save() return instance
def post(self, request): serializer = ArtistaSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(status=status.HTTP_400_BAD_REQUEST)
def get(self, request): artista = Artista.objects.all() serializer = ArtistaSerializer(artista, many=True) return Response(serializer.data, status=status.HTTP_200_OK)
def get(self, request, id): artista = self.get_object(id) serializer = ArtistaSerializer(artista) return Response(serializer.data, status=status.HTTP_200_OK)
class AlbumSerializer(serializers.ModelSerializer): artista = ArtistaSerializer(read_only = True , allow_null = False) artista_id = serializers.PrimaryKeyRelatedField(write_only=True, queryset=Artista.objects.all() , allow_null = False) class Meta: model = Album fields = ('id', 'nombre', 'artista','artista_id')