[英]Python: how to create initializer of a derived class
我有一個class order_order
:
class order_order(osv.osv):
_inherit = "sale.order"
_columns = {
'order_completed_date' : fields.char('Order Completed Date'),
.
.
.
}
基於此 SO帖子,我編寫了以下初始化程序:
def __init__(self, **kwargs):
super(order_order, self).__init__(**kwargs)
self.order_completed_date = order_completed_date
.
.
.
我試圖創建一個對象為:
order_order.__new__(order_completed_date=order_completed_date, ...)
但是我收到以下錯誤:
TypeError: __new__() got an unexpected keyword argument 'order_completed_date'
編輯:得到相同的錯誤:
order_order(order_completed_date=order_completed_date, ...)
EDIT2:完全錯誤:
Traceback (most recent call last):
File "/home/nish/repos/stage/openerp/web/addons/web/http.py", line 292, in dispatch
r = method(self, **self.params)
File "/home/nish/repos/stage/openerp/web/addons/web/controllers/spree_api.py", line 118, in some_html
order_order(order_completed_date=order_completed_date, order_id=order_id, product_id=product_id, product_name=product_name, size=size, product_cost_cp=product_cost_cp, product_cost_sp=product_cost_sp, product_cost_mrp=product_cost_mrp, product_creation_date=product_creation_date, product_taxon=product_taxon, user_email=user_email, user_name=user_name, user_address=user_address, user_city=user_city, city_zip_code=city_zip_code, user_state=user_state, user_country=user_country)
TypeError: __new__() got an unexpected keyword argument 'user_address'
我究竟做錯了什么? 我該如何糾正錯誤?
__new__
是類型的構造函數,您通常不想像以往那樣使用它。 創建對象的正常方法是,它還包括調用其初始化器:
order_order(order_completed_date=order_completed_date, ...)
因此,只需調用類型即可; 並且該調用的參數將傳遞給初始化程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.