Hi,
For that you have to follow the steps like :
1 ) Make service for the report.
2 ) Call that service and get the result of that report. (It will return reportdata, reportformat ).
3) Store the result into your desire binary field.
I am write down on ex. you have to make it as you want.
import netsvc
service = netsvc.LocalService("report."+report_name) # It will create one service for the report.
(result, format) = service.create(cr, uid, ids, data, context) # It will execute the service and give the output of the report with its data and format.
self.write(cr, uid, ids, {'binary_field1':result}) # As like this you can write the binary field with result of the report. Later on you can download the report from this field.
Thats it.
I hope you will achieve your objective.