Tôi chỉ mới bắt đầu làm việc với django và DRF, và xảy ra sự cố, có vẻ như phản hồi bộ nhớ cache DRF. Ý tôi là - tôi có thể thay đổi đối tượng, tạo mới hoặc xóa đối tượng - và DRF giữ phản hồi, không có gì thay đổi. Ví dụ, tôi tạo một đối tượng, nhưng modelViewSet vẫn trả về dữ liệu mà đối tượng này không trình bày. Nhưng nếu tôi trực tiếp yêu cầu nó đối tượng - nó cho thấy rằng nó được tạo ra. Và như vậy với bất kỳ hành động khác. Tôi không thể tìm thấy chủ đề về bộ nhớ đệm trong DRF, và trông giống như tôi đã không có bất kỳ django chaching middlewares, vì vậy tôi không có ý tưởng những gì đang xảy ra. Chỉ có một thứ giúp - khởi động lại máy chủ (Tôi đang sử dụng máy chủ mặc định dev).Làm thế nào để vô hiệu hóa Django REST Framework caching?
Một điều nữa - tất cả dữ liệu đều ổn khi được hiển thị theo chế độ xem django chứ không phải chế độ xem DRF.
Đây là một trong những bộ nối tiếp/modelViewSets mà tôi đang sử dụng. Nó đơn giản như nó có thể. Và cũng - tôi không sử dụng phụ trợ bộ đệm django. Ít nhất - tôi không có bất kỳ cài đặt nào của tôi.
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
Không có nội dung nào được tích hợp trong DRF, bạn có chắc chắn rằng bộ nhớ đệm xuất hiện ở phía DRF không? Có lẽ có cái gì khác trong django mà thực hiện bộ nhớ cache này hoặc nó trong trình duyệt của bạn? – GwynBleidD
Vâng, có vẻ đó không phải là một trình duyệt - những người khác cũng thấy kết quả tương tự. Và như tôi đã nói - Tôi không có bất kỳ bộ đệm đệm nào. Django sử dụng middleware cho bộ nhớ đệm, phải không? – GeraldIstar
Bạn có thể đăng xem và serializer bị ảnh hưởng bởi bộ nhớ cache đó, cũng là những gì backend bộ nhớ cache bạn đang sử dụng trong dự án django? – GwynBleidD