def METHOD_NAME(self, request, property_pk=None, scenario_pk=None, pk=None):
    """
    Where property_pk is the associated PropertyView.id
    """
    try:
        property_state = PropertyView.objects.get(pk=property_pk).state
        property_measure = PropertyMeasure.objects.get(pk=pk, scenario=scenario_pk, property_state=property_state.id)
    except (PropertyMeasure.DoesNotExist, PropertyView.DoesNotExist):
        return JsonResponse({
            "status": "error",
            "message": 'No Property Measure found with given pks'
        }, status=status.HTTP_404_NOT_FOUND)
    possible_fields = [f.name for f in property_measure._meta.get_fields()]
    for key, value in request.data.items():
        if key in possible_fields:
            setattr(property_measure, key, value)
        else:
            return JsonResponse({
                "status": 'error',
                "message": f'"{key}" is not a valid property measure field'
            }, status=status.HTTP_400_BAD_REQUEST)
    property_measure.save()
    result = {
        "status": "success",
        "data": PropertyMeasureSerializer(property_measure).data
    }
    return JsonResponse(result, status=status.HTTP_200_OK)