สิ่งที่ฉันต้องทำคือเข้าถึงค่าของคอลัมน์ในโมดูลบางโมดูลก่อนที่จะบันทึก
ตัวอย่างเช่น หากเรามีโมดูลที่กำหนดไว้ดังนี้:
_columns = {
'name': fields.char('Department Name', size=64, required=True),
'complete_name': fields.function(_dept_name_get_fnc, type="char", string='Name'),
'parent_id': fields.many2one('hr.department', 'Parent Department', select=True),
'child_ids': fields.one2many('hr.department', 'parent_id', 'Child Departments'),
'note': fields.text('Note'),
}
คอลัมน์ทั้งหมดเหล่านี้แสดงด้วยตัวควบคุม เช่น กล่องข้อความ กล่องคำสั่งผสม กล่องกาเครื่องหมาย ฯลฯ
เมื่อเราเปิดมุมมองแบบฟอร์มในโหมดสร้าง บันทึกใหม่จะถูกสร้างขึ้นแต่ไม่ได้บันทึก และจะไม่รับรหัสในฐานข้อมูลจนกว่าเราจะคลิก (บันทึก)
คำถามคือวิธีเข้าถึงค่าของฟิลด์เหล่านั้น (ตัวควบคุม) ก่อนที่จะบันทึกและก่อนที่บันทึกปัจจุบันจะใช้รหัสใหม่
ฉันรู้เกี่ยวกับ self.browse และ self.search แต่พวกเขาต้องการ ID ที่ไม่สามารถใช้งานได้เนื่องจากยังไม่ได้บันทึกบันทึก
นอกจากนี้ เราสามารถกำหนดตัวแปรส่วนกลางที่สามารถเข้าถึงได้จากคลาสใดก็ได้ในโมดูล (ตัวแปรเซสชันในเงื่อนไขการพัฒนาเว็บ) ได้หรือไม่