Странное поведение ViewSet - Django Rest Framework

Я установил ModelViewSet и ModelSerializer для своей модели Dataset, но заметил странное поведение. Когда я создаю новые экземпляры наборов данных, конечная точка не отражает новые добавления. Однако, если я распечатаю счетчик экземпляров наборов данных, я могу четко увидеть отражение новых наборов данных. Кто-нибудь уже сталкивался с подобным?

class DatasetViewSet(viewsets.ModelViewSet):
    
    queryset = Dataset.objects.all().order_by('-created_at')
    serializer_class = DatasetSerializer

    def get_queryset(self):
        
        # correctly prints the number of instances
        print('new call: ', Dataset.objects.count()) 
        
        # only prints the correct number when *one* new instance is added,
        # afterwards new instances are not recognized
        print('queryset: ', self.queryset.count()) 
        
        return self.queryset

Первый оператор print в методе get_queryset выше выведет правильное количество экземпляров (т.е. 5, 6, 7, 8, ..., поскольку я продолжаю добавлять новые экземпляры).

Второй оператор печати фиксирует только первый новый экземпляр и затем остается постоянным (т.е. 5, 6, 6, 6, 6, ... даже когда я продолжаю добавлять новые экземпляры).

Более того, в приведенном выше примере GET-запрос даст только 6 экземпляров, даже если я продолжу добавлять новые.

Что здесь происходит и как я могу начать отлаживать эту ситуацию?

Вернуться на верх