Tutorial Odoo 9.0 Part 5 : Relations between models
จาก Morange Wiki
รุ่นแก้ไขเมื่อ 11:30, 14 กรกฎาคม 2559 โดย Bombay (คุย | มีส่วนร่วม)
เนื้อหา
Relations between models
ความสัมพันธ์ของ Model กับ Model โดยใน Part นี้จะสอนวิธีการเขียนโปรแกรมให้ Model เชื่อมต่อกัน
- แก้ไขไฟล์ดังนี้
openacademy/models.py
<!-- เพิ่มไฟล์ต่อจาก Class ล่าสุด --> class Session(models.Model): _name = 'openacademy.session' name = fields.Char(required=True) start_date = fields.Date() duration = fields.Float(digits=(6, 2), help="Duration in days") seats = fields.Integer(string="Number of seats")
openacademy/views/openacademy.xml
<!-- เพิ่มข้อความลงไป --> <!-- session form view --> <record model="ir.ui.view" id="session_form_view"> <field name="name">session.form</field> <field name="model">openacademy.session</field> <field name="arch" type="xml"> <form string="Session Form"> <sheet> <group> <field name="name"/> <field name="start_date"/> <field name="duration"/> <field name="seats"/> </group> </sheet> </form> </field> </record> <record model="ir.actions.act_window" id="session_list_action"> <field name="name">Sessions</field> <field name="res_model">openacademy.session</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record> <menuitem id="session_menu" name="Sessions" parent="openacademy_menu" action="session_list_action"/> </data> </openerp>
- ทำการ Update เพื่อทำการแสดงผลลัพท์
มีข้อผิดพลาดในการสร้างรูปย่อ: ไฟล์สูญหาย
- จะได้ผลที่เกิดตามภาพคือ จะมีแถบ Session ตรงข้างขวา
Many2one Relations
- ขั้นตอนต่อจากนี้จะเป็นการ เขียน Model ให้มีความสัมพันธ์กันแบบ Many to one
name = fields.Char(string="Title", required=True) description = fields.Text() <-- เพิ่มข้อความตรงนี้ --> responsible_id = fields.Many2one('res.users', ondelete='set null', string="Responsible", index=True) <-- จบ --> class Session(models.Model): _name = 'openacademy.session'