Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
7864 มุมมอง
content = fields.Text('Content')
@api.multi
def write(self, values):

    library_write = super(Library, self).write(values)
 
    text = self.read_from_doc()
    values['content'] = text
 
    print 'Passed this function. passed_override_write_function value: ' + str(
    library_write)

    return library_write
อวตาร
ละทิ้ง

In this article you will learn how to override Odoo methods. I will show you how to override Odoo Create, Write and Unlink method.

Reference Link: https://goo.gl/4BkizH

คำตอบที่ดีที่สุด

Hi,

Rewrite the function like this,

@api.multi
def write(self, values):
text = self.read_from_doc()
values['content'] = text
library_write = super(Library, self).write(values)
return library_write


Thanks

อวตาร
ละทิ้ง
ผู้เขียน

But when I update the content field before, the previous value is updated,not the current value. I need to update it with the current value. When i save all other fields get current values, but content field alone gets the previous value. What may be the issue?

คำตอบที่ดีที่สุด

After Calling super() you are trying to update values with 'content' it's wrong.

Before Calling the super()  you have to update values with 'content' field

@api.multi
def write(self, values):
values['content'] = self.read_from_doc()
return super(Library, self).write(values)
อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
2
ก.ค. 25
4821
2
ธ.ค. 24
7905
How to ORDER BY? [Odoo 10] แก้ไขแล้ว
2
พ.ย. 24
28715
2
พ.ค. 24
7598
3
มี.ค. 24
7054