Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

290
Vistas
Ver lista de solo objetos de usuario actuales, Django REST

Tengo 2 vistas: /notes/ y /notes// En el modelo de notas en models.py Tengo una variable de propietario, que almacena el inicio de sesión del propietario. Como quiero tener muchos usuarios, no quiero que vean las notas de otros, así que creé el permiso:

 class IsOwner(permissions.BasePermission): def has_object_permission(self, request, view, obj): return obj.owner == request.user

Establecí este permiso en NotesList(generics.ListCreateAPIView) y NotesDetail(generics.RetrieveUpdateDestroyAPIView) . Ahora el usuario no puede ver las notas de otros si va a /notes/<pk>/ , pero en /notes/ puede ver la lista completa de todos modos. Entonces, ¿cómo puedo cambiarlo? Quiero ver en la lista de notas solo mis notas. Creo que la forma correcta es filtrar queryset = Snippet.objects.all().filter(owner=...) pero no puedo pensar de inmediato.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tiene razón, debe anular el conjunto de consultas en la vista de lista. Pero no puede hacer eso en el atributo queryset en sí, porque se ejecuta al inicio del proceso, mientras que necesita acceso a datos que solo están disponibles en el momento de la solicitud. Por lo tanto, debe definir el método get_queryset en esa vista:

 def get_queryset(self, *args, **kwargs): return Snippet.objects.all().filter(owner=self.request.user)
about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda