別のモデルの many2one フィールドを使用してウィザードを作成しました。qweb-report が言及されている場所。ここで、(many2one フィールドから) 1 レコードを選択し、それぞれのレポートを印刷したいと考えています。[以前は、そのメニューのフォーム ビューで請求書の印刷を行っていました。] 時々ここで空のレポートが印刷されます.誰でもそれを明確に説明できますか?これが私のコードです.
class invoice_wizard(osv.TransientModel):
_name = 'invoice.wizard'
_columns = {
'name':fields.many2one('hotel.booking',string="CustomerName"),
}
def invoice_print(self,cr,uid,ids,vals,context=None):
bookz=self.browse(cr,uid,ids,context=context)
ids2=self.pool.get['book.room'].search([('name','=',bookz.name.name)])
data = {
'ids': ids2,
'model': 'book.room',
'form': self.env['book.room'].read(['name'])[0]
}
return self.env['report'].get_action(self, 'hotels.Booking_Details',
data=data)
invoice_wizard()
次のエラーが表示されます。
Traceback (most recent call last):
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 574, in dispatch
result = self._call_function(**self.params)
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 307, in checked_call
return self.endpoint(*a, **kw)
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 803, in __call__
return self.method(*args, **kw)
File "/home/anipr/Desktop/odoo-8.0/openerp/http.py", line 403, in response_wrap
response = f(*args, **kw)
File "/home/anipr/Desktop/odoo-8.0/openerp/addons/web/controllers/main.py", line 952, in call_button
action = self._call_kw(model, method, args, {})
File "/home/anipr/Desktop/odoo-8.0/openerp/addons/web/controllers/main.py", line 940, in _call_kw
return checked_call(request.db, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/addons/web/controllers/main.py", line 939, in checked_call
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/anipr/Desktop/odoo-8.0/openerp/addons/hotels/wizard/hotel_wizard.py", line 50, in invoice_print
ids2=self.pool.get['book.room'].search([('name','=',bookz.name.name)])
TypeError: 'instancemethod' object has no attribute '__getitem__'
前もって感謝します..!!