queryset - partial update django rest framework
¿Cómo deshabilitar el almacenamiento en caché de Django REST Framework? (1)
Solo empiezo a trabajar con django y DRF, y aparece un problema, que se parece a las respuestas del caché DRF. Es decir, puedo cambiar de objeto, crear nuevo o eliminarlo, y DRF mantiene la respuesta, eso no cambia nada. Por ejemplo, creo un objeto, pero modelViewSet aún devuelve datos donde este objeto no se presenta. Pero si lo solicito directamente, el objeto muestra que ha sido creado. Y así con cualquier otra acción. No puedo encontrar el tema sobre el almacenamiento en caché en DRF, y parece que no tengo ningún middleware de chapado django, así que no tengo idea de lo que está pasando. Solo hay una cosa que ayuda: reiniciar el servidor (estoy usando el servidor de desarrollo predeterminado).
Una cosa más: todos los datos están correctos cuando son renderizados por vistas django, no vistas DRF.
Aquí está uno de los serializadores / modelViewSets que estoy usando. Es tan simple como sea posible. Y también, no estoy usando backends de django cache. Al menos, no tengo ninguno en mi configuración.
class WorkOperationSerializer(serializers.ModelSerializer):
class Meta:
model = WorkOperation
class WorkOperationAPIView(viewsets.ModelViewSet):
serializer_class = WorkOperationSerializer
queryset = WorkOperation.objects.all()
def get_queryset(self):
return self.queryset
Puede leer aquí sobre el almacenamiento en caché de django queryset. El mejor consejo parece ser: vuelva a ejecutar el método .all()
para obtener resultados nuevos. Just object.property
puede proporcionarle resultados en caché.