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

How to inherit a fields from one model to another model in odoo12

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

For me this issue is not resolved as @mitul answer is right but when i try it ,it is still inheriting whole module .

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

Hi, 

if you want to use other model's field in python side then use

class DemoClass(models.Model):

_inherit = 'fields.model'


# Here you can define method or any code to use field.

def demo_method(self):

print('field---->', self.field_name)


or you want to use in xml file then you have to inherit that view:

https://www.odoo.com/documentation/12.0/reference/views.html#inheritance

hope it will useful for you. 

Thanks..

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


Try Like this ...

class MyModelFoo1(models.Model):
_name = 'my.model.foo'

my_field1 = fields.Char()
my_field2 = fields.Char()
my_field3 = fields.Char()

class MyModelBar(models.Model):
_name = 'my.model.bar'

my_field4 = fields.Char()
my_field5 = fields.Char()
my_field6 = fields.Char()

class MyModelFoo2(models.Model):
_name = 'my.model.foo'
_inherit = ['my.model.foo', 'my.model.bar']

Here fileds of 'my.model.bar' will come under 'my.model.foo'.

Thanks !!!  

iWesabe

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

How to create new view for these two inherited field model.

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

hello 

for inherit only one field you can achieve this using  _inherits.

_inherits = {}              # inherited models {'parent_model': 'm2o_field'}

for eg. you can do like below code (in odoo there is already example in res.users object):

class Users(models.Model):
    _name = "res.users"
    _inherits = {'res.partner': 'partner_id'}
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

class ResUsers(models.Model):

_inherit = "res.users"

    age = fields.Float(string="Age")

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
4
thg 3 24
3403
1
thg 10 23
5355
1
thg 6 22
6596
2
thg 8 17
12660
0
thg 4 16
3251