class DireccionSerializer(serializers.ModelSerializer): direccion_usuario = UsuarioSerializer(many=True, read_only=True) persona_direccion = PersonaSerializer(many=True, read_only=True) class Meta: model = Direccion fields = [ 'id', 'slug', 'calle', 'numero_interior', 'numero_exterior', 'direccion_usuario', 'persona_direccion' ]
def get_context_data(self, **kwargs): try: context = super().get_context_data(**kwargs) lista_usuarios = UsuarioPerfil.objects.all().order_by( Lower('user__username')) serializer = UsuarioSerializer(lista_usuarios, many=True) context['usuarios'] = json.dumps(serializer.data) return context except Exception: context = {'error_message': 'Ha ocurrido un error inesperado'} return render(self.request, 'base/error.html', context)
def get(self, request, usrk, libk): ''' Devuelve el bookmark solicitado ''' user = Usuario.objects.get(username=usrk) serializerU = UsuarioSerializer(user) usrk = serializerU.data['id'] bookmarkSet = Bookmark.objects.filter(Usuario=usrk, Libro=libk) #bookmark = get_object_or_404(bookmark, Usuario = usrk, Libro = libk) serializer = BookmarkSerializer(bookmarkSet, many=True) return Response(serializer.data)
def edit_user(request, id_usuario): payload = json.loads(request.body) try: user_item = payload user = Usuario.editUser(user_item, id_usuario) serializer = UsuarioSerializer(user) return JsonResponse({'data': serializer.data}, safe=False, status=status.HTTP_200_OK) except ObjectDoesNotExist as e: return JsonResponse({'error': str(e)}, safe=False, status=status.HTTP_404_NOT_FOUND) except Exception: return JsonResponse({'error': 'Algo salió mal'}, safe=False, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def add_user(request): payload = json.loads(request.body) try: user = payload user = Usuario.createUser(user) serializer = UsuarioSerializer(user) return JsonResponse({'data': serializer.data}, safe=False, status=status.HTTP_201_CREATED) except ObjectDoesNotExist as e: return JsonResponse({'error': str(e)}, safe=False, status=status.HTTP_404_NOT_FOUND) except Exception as e: return JsonResponse({'error': 'Algo salió mal'}, safe=False, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def post(self, request, pk, format=None): usuario = self.get_object(pk) serializer_usuario = UsuarioSerializer( usuario, context={'request': self.request}) serializer_credito = CreditoSerializer( data=request.data, context={'request': self.request}) credito = None if serializer_credito.is_valid(): credito = serializer_credito.data.get('credito') saldo_atual = usuario.saldo novo_saldo = saldo_atual + credito usuario.saldo = novo_saldo usuario.save() Transacao.objects.create( tipo='Crédito', saldo_inicial=saldo_atual, saldo_final=novo_saldo, mensagem=f'Creditado o valor de R$ {credito}.', usuario=usuario) else: return Response(serializer_credito.errors, status=status.HTTP_400_BAD_REQUEST) return Response(serializer_usuario.data)
def get_users(request): usuarios = Usuario.getAll() serializer = UsuarioSerializer(usuarios, many=True) return JsonResponse({'data': serializer.data}, safe=False, status=status.HTTP_200_OK)
class PersonaSerializer(serializers.ModelSerializer): usuario_persona = UsuarioSerializer(many=True,read_only=True) persona_infante = InfanteSerializer(many=True, read_only=True) class Meta: model = Persona fields = ['name','last_name','email','usuario','usuario_persona','persona_infante']