Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
11601 Lượt xem

i don't want to write multiple time.

_defaults = {

'extra_cleaning_hourly_rate': lambda self, cr, uid, c: self.pool.get('res.company').browse(cr, uid, uid, c).extra_cleaning_hourly_rate,

'extra_cleaning_hourly_rate_material': lambda self, cr, uid, c: self.pool.get('res.company').browse(cr, uid, uid, c).extra_cleaning_hourly_rate_material,

'extra_cleaning_hourly_rate_material': lambda self, cr, uid, c: self.pool.get('res.company').browse(cr, uid, uid, c).window_cleaning_hourly_rate,

}

Ảnh đại diện
Huỷ bỏ

it's not making sense , extra_cleaning_hourly_rate_material can have to two default on the basis on "certain condition" (so apply that condition in one lambda )

Câu trả lời hay nhất

Hi Vijay,

Here you go!

- override the default_get method to achieve this.

 in dictionary you have to pass key as your field name for which you want to set default value, would your updated value for that field.

#v7
def default_get(self, cr, uid, ids, context=None):
    # Either prepare your dictionary here to update in result dictionary    
    result = super(class_name, self).default_get(cr, uid, ids, context=context) # or directly update your result dictionary with new fields value to be updatr    return result


#v8
@api.model
def default_get(self, vals):
#update dictionary with default fields
    result = super(product_new_revision, self).default_get(vals)
#Update dictionary with default fields
    return result
eg. Update dictionary value in this format -> {'field_name': 'default value'}

Hope this will help.

Regards,

Anil.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hello,

You can use the default_get method it returns a dict mapping fields names with their default values.

You can also check an example here 

Hope this could help

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 2 20
4231
0
thg 3 25
1265
0
thg 1 25
3312
1
thg 8 23
14624
change password Đã xử lý
1
thg 8 23
13261