Django Rest Framework не показывает обновленное поле до перезапуска сервера

Я использую DFR. Когда я посылаю запрос патча для обновления записи пациента, она изменяется в базе данных и я могу видеть это в панели администратора, но ответ api запроса не изменяется, пока я не перезапущу сервер. Модель пациента:

class Patient(models.Model):
user = models.OneToOneField(
    settings.AUTH_USER_MODEL,
    on_delete=models.CASCADE
)
firstName = models.CharField(max_length=255)
lastName = models.CharField(max_length=255)
birthdate = models.DateField(auto_now_add=False, null=True, blank=True)
nationalCode = models.CharField(max_length=10)
address = models.TextField(blank=True)
cellphone = models.CharField(max_length=15, blank=True)
haveInsurance = models.BooleanField(default=False)
insuranceNumber = models.CharField(max_length=20, blank=True)
image = models.ImageField(null=True,blank=True, upload_to=patient_image_file_path)
patientHistory = models.ForeignKey(
    'PatientHistory',
    on_delete=models.CASCADE,
    blank=True, null=True)

def __str__(self):
    return self.firstName + ' ' + self.lastName

Набор представлений пациента:

class PatientViewSet(viewsets.ModelViewSet):
"""viewset for listing and creating patients"""
serializer_class = serializers.PatientSerializer
queryset = Patient.objects.all().order_by('-lastName')
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAdminUser | IsObjectOwner,)

def get_queryset(self):
    firstName = self.request.query_params.get('first_name')
    lastName = self.request.query_params.get('last_name')
    insuranceNumber = self.request.query_params.get('insurance_number')
    cellphone = self.request.query_params.get('cellphone')
    queryset = self.queryset
    if firstName:
        queryset = queryset.filter(firstName=firstName)
    if lastName:
        queryset = queryset.filter(lastName=lastName)
    if insuranceNumber:
        queryset = queryset.filter(insuranceNumber=insuranceNumber)
    if cellphone:
        queryset = queryset.filter(cellphone=cellphone)
    return queryset
   

def perform_create(self, serializer):
    if self.request.user.is_staff:
        email = self.request.data['email']
        cellphone = self.request.data['cellphone']
        name = self.request.data['firstName'] + " " + self.request.data['lastName']
        if get_user_model().objects.filter(email=email).exists():
            user = get_user_model().objects.get(email=email)
        else:
            user = get_user_model().objects.create_user(
                email=email,
                password=cellphone,
                name=name
                )
    else:
        user = self.request.user

    haveInsurance = True if 'insuranceNumber' in self.request.data else False
    user.is_patient = True
    user.save()
    serializer.save(
        user=user,
        haveInsurance=haveInsurance
    )

Сериализатор пациента:

class PatientSerializer(serializers.ModelSerializer):
"""Serializer for Patient objects"""
patientHistory = serializers.SerializerMethodField()
class Meta:
    model = Patient
    fields = [
        'id',
        'firstName',
        'lastName',
        'birthdate',
        'nationalCode',
        'address',
        'cellphone',
        'haveInsurance',
        'insuranceNumber',
        'patientHistory',
        'image'
    ]
    read_only_fields = ['id']

def get_patientHistory(self, obj):
    patientHistory = obj.patientHistory
    return patientHistory

Я думаю, что каким-то образом мне нужно заставить ViewSet перерисовываться или что-то в этом роде, или, может быть, мне нужно добавить метод обновления. Кто-нибудь знает, в чем причина ошибки?

казалось, что это был метод get_queryset.

queryset=self.queryset 

изменил его на

queryset=Patient.objects.all()

решил проблему

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