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

Hi guys,

In my medical module, I created 2 models, "appointment" and "evaluation".
on the appointment form, I created a "confirm" button which changes the appointment state from the draft state to the confirmed one, with the following function:


def confirm(self):
self.write({'state': 'confirmed'})

It works like perfect, but I need when I click in the same button, to create a new record in the "evalutation" table, and copy the data of this appointment.

How to do it please? any advice?

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

you can try the following:
self.env['evaluation.model'].create({'name': self.name_of_new_record})

Keep in mind in the create dictionary, you have to set all required fields for the evaluation model.

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

Hi, Nomad_King answered your question pertfecly. I just want to add some information. self.env['model_name'].create(list_of_dictionaries) creates new records of the model 'model_name'. 'list_of_dictionaries' is, well, a list of dictionaries. Each dictionary is a new record. It basically looks like this {'field_name1': value, 'field_name2': value, ...} You get it. Be carefull with related fields: One2many and Many2many fields use special 'commands'. Check the documentation for more info.

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

Thanks so much for your quick reply,

I will try it and let you know


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
0
thg 1 22
465
2
thg 8 24
4692
1
thg 10 21
9128
1
thg 5 24
2713
1
thg 12 23
2129