Odooers论坛

欢迎!

该社区面向专业人士和我们产品和服务的爱好者。
分享和讨论最好的内容和新的营销理念,建立您的专业形象,一起成为更好的营销人员。


0

How to insert value to a one2many field in table with create method?

形象
odoo
形象
丢弃
4 答案
0
形象
odoo
最佳答案

This may help you:

(0, 0,  { values })    link to a new record that needs to be created with the given values dictionary
(1, ID, { values })    update the linked record with id = ID (write *values* on it)
(2, ID)                remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)
(3, ID)                cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)
(4, ID)                link to existing record with id = ID (adds a relationship)
(5)                    unlink all (like using (3,ID) for all linked records)
(6, 0, [IDs])          replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)

In your case you need to use (0, 0, { values })

5 注释
形象
丢弃
形象
odoo
-

Thanks nazarii..

形象
odoo
-

The only option that takes a list is number 6, right? I cannot do a (4, [id, id, ids]) and have it all been related with my record? Or a (0, 0, [{values}])?

形象
odoo
-

If you want to link new record to existing wizards than yes, you need to use (6, 0, [IDS]). But if you want to create new wizards on the fly and link to this record than use 'fee_ids': [(0, 0, values1), (0, 0, values2) ]

形象
odoo
-

Great

形象
odoo
-

Thanks

0
形象
odoo
最佳答案

Insert a new record in one2many fields in odoo9.

Code:

@api.multi

def Create_One2many_method(self):

search_var = self.search([('staff_age','=',0)])

search_var.write({

                    'stud_ids': [(0,0, {

                                                'reg_no':4200,

                                                 'stud_email':'anbulove@gmail.com',

                                                   'stud_phone':'9788987689',

 

})]

})

 

形象
丢弃
0
形象
odoo
最佳答案

i want to explain how odoo framework create related table for many2many for exemple we have your model1 where you created "category_id" and the other model2 where you Create the relation with many2many

Now for each models odoo create table in Psql , so for models1 odoo create in Psql table:model1and for the second model Psql create table: Model2 and for the relation many2many Psql create the third his name is table:model1_Model2

so in odoo create this table with underscore and the 2 table Name

形象
丢弃
0
形象
odoo
最佳答案

In my case, the wizard should add or relate one or more existing records into the "one2many" field of the new record. Then if I'm not wrong, what I must to do is a (1, ID, { values }) with ID = the id of the fresh new record, right?

1 备注
形象
丢弃
形象
odoo
-

but this is what I get :( AttributeError: "'list' object has no attribute 'copy'"