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

Here is two functions which are write and create. The write method is working fine. but create method is not triggering.

Can anybody help on this??

#v13.0

class AssetAllocation(models.Model):
_name = 'asset.allocation'

def create(self, values):
for rec in self.asset_id:
if self.state == 'active':
rec.current_employee = self.name
rec.current_branch = self.branch
else:
rec.current_employee = False
rec.current_branch = False
res = super(AssetAllocation, self).create(values)
return res

def write(self, vals):
res = super(AssetAllocation, self).write(vals)
for rec in self.asset_id:
if self.state == 'active':
rec.current_employee = self.name
rec.current_branch = self.branch
else:
rec.current_employee = False
rec.current_branch = False
return res


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

i have same issue, i think its you already have been create method, i think create method just can call once

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

Hi,

Please try this.

@api.model
def create(self, values):
res = super(AssetAllocation, self).create(values)
for record in res:
for asset in record.asset_id:
if record.state == 'active':
asset.current_employee = record.name
asset.current_branch = record.branch
else:
asset.current_employee = False
asset.current_branch = False
return res

Also please check whether you have define the create method for multiple times in the same py file or not. If yes, then you have to remove one of it.

Hope it will help you.

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

In the create function, you can only access values from values dict or after the record is created. So here either you need to compare the values from dict or access record after create.

def create(self, values):

res = super(AssetAllocation, self).create(values)
........
        code here, access values from res
        ........
return res
Ảnh đại diện
Huỷ bỏ
Tác giả

Dear Hilar,

I tried that also already. Not working..

Correct your logic. Make sure u a loop, super object will be the record going to update in db. Try to access values from the same.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 24
14633
4
thg 9 21
7179
2
thg 12 20
6086
1
thg 7 20
3293
2
thg 7 20
4731