• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

888
Vistas
cómo obtener el ID de usuario en el método GET en Django Rest framework

Estoy tratando de pasar el "ID de usuario" solicitado al Procedimiento almacenado, pero no pude obtener el "ID de usuario" solicitado en el método GET. SP funciona bien cuando ingresé la identificación de usuario directamente

vistas.py:

 @api_view(['GET', 'POST']) def ClaimReferenceView(request, userid): try: userID = Tblclaimreference.objects.filter(userid=userid) except Tblclaimreference.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': user = Tblclaimreference.objects.get(userid=self.request.user.id) print(user) cursor = connection.cursor() cursor.execute('EXEC [dbo].[sp_GetClaims] @UserId= %s',(user,)) result_set = cursor.fetchall() print(type(result_set)) response_data = [] for row in result_set: response_data.append( { "Number": row[0], "Opened": row[1], "Contacttype": row[2], "Category1": row[3], "State": row[4], "Assignmentgroup": row[5], "Country_Location": row[6], "Openedfor": row[7], "Employeenumber": row[8], "Shortdescription": row[9], "AllocatedDate": row[10] } ) return Response(response_data, status=status.HTTP_200_OK) elif request.method == 'POST': serializer = ClaimReferenceSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

modelos.py:

 class Tblclaimreference(models.Model): taskid = models.IntegerField(db_column='TaskId', primary_key=True) userid = models.IntegerField(db_column='UserID') internaldescription = models.CharField(db_column='Internaldescription', max_length=500, blank=True, null=True) additionalcomments = models.CharField(db_column='Additionalcomments', max_length=500, blank=True, null=True)
about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Pasas una Tblclaimreference , no una identificación de usuario. Puedes usar:

 cursor.execute('EXEC [dbo].[sp_GetClaims] @UserId= %s',( userid ,))

Si desea utilizar el .pk del usuario que inició sesión, es:

 cursor.execute('EXEC [dbo].[sp_GetClaims] @UserId= %s',( request.user.pk ,))
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda