es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es seguro comparar owner_id con request.user.id para autenticación en Django?

En mi aplicación, tengo el modelo:

class Meal(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField(max_length=500)
    carbohydrates = models.FloatField()
    protein = models.FloatField()
    fat = models.FloatField()
    fiber = models.FloatField()
    owner = models.ForeignKey('auth.User', on_delete=models.CASCADE)

el siguiente serializador:

class MealSerializer(serializers.ModelSerializer):
    class Meta:
        model = Meal
        fields = "__all__"

y este viewset:

class MealViewSet(viewsets.ModelViewSet):
    queryset = Meal.objects.all()
    serializer_class = MealSerializer

    def get_queryset(self):
        return Meal.objects.filter(owner_id=self.request.user.id)

Y ahora tengo una pregunta, ¿es seguro comparar owner_id=self.request.user.id en el método get_queryset para la autenticación?

¿Es posible de alguna forma especificar el user.id en la petición, por ejemplo, usando Postman y acceder a todos los objetos de comida?

Por ejemplo:

¿Es posible hacer eso en Postman o en algún otro lugar?

Soy principiante en Django y no usé mucho Postman. Lo siento si escribí algo mal, el inglés no es mi lengua materna.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es seguro comparar owner_id=self.request.user.id en el método get_queryset para la autenticación. Esto garantizará que solo se devuelvan las comidas que pertenecen al usuario autenticado.

    No es posible especificar una ID de usuario en la solicitud utilizando Postman y extraer todos los objetos Meal. Postman se utiliza para realizar solicitudes a una API, y la API solo devolverá las comidas que pertenecen al usuario autenticado.

Comments are closed.