¿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.
davy.ai
Sí, es seguro comparar
owner_id=self.request.user.id
en el métodoget_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.