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

Hello can some one give and example how should method look like when we need copy ids from one model to another. 

For example we need to copy follower_ids from project.project to project.task. 

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

When you are working with o2m & m2m fields, you should use the special operators (search by the key '(0, _, values)' here: https://www.odoo.com/documentation/8.0/reference/orm.html)

In your example:

for follower in project_id.message_follower_ids:

 if follower not in task_id.message_follower_ids:

  task_id.message_follower_ids = [(4,partner.id)]


Or in case task for sure doesn't have the same followers before:

task_id.message_follower_ids = [(6,0,project_id.message_follower_ids.ids)]


You may add this to create or write

Ảnh đại diện
Huỷ bỏ
Tác giả

i'm using this method as button, but i get error NameError: global name 'project_id' is not defined

here is my method

@api.multi

def add_project_followers(self):

for follower in project_id.message_follower_ids:

if follower not in task_id.message_follower_ids:

task_id.message_follower_ids = [(6, 0, project_id.message_follower_ids.ids)]

It was an example! Please read the documentation how to write functions in Odoo / Python. In your case you try to apply a variable which doesn't exist. It should be sth like:

@api.multi

def add_project_followers(self):

for task in self:

for follower in task.project_id.message_follower_ids:

if follower not in task.message_follower_ids:

task.message_follower_ids = [(4, follower.id)]

Bài viết liên quan Trả lời Lượt xem Hoạt động
Expected singleton Đã xử lý
9
thg 3 20
42032
2
thg 10 18
3948
1
thg 10 17
4203
2
thg 4 15
20650
3
thg 3 15
7737