ผลต่างระหว่างรุ่นของ "Tutorial Odoo 9.0 Part 5 : Relations between models"
จาก Morange Wiki
Bombay (คุย | มีส่วนร่วม) |
Bombay (คุย | มีส่วนร่วม) |
||
แถว 52: | แถว 52: | ||
</pre> | </pre> | ||
− | ทำการ Update เพื่อทำการแสดงผลลัพท์ | + | * ทำการ Update เพื่อทำการแสดงผลลัพท์ |
[[ไฟล์:Odoo5-1.png | 600 px]] | [[ไฟล์:Odoo5-1.png | 600 px]] | ||
+ | |||
* จะได้ผลที่เกิดตามภาพคือ จะมีแถบ Session ตรงข้างขวา | * จะได้ผลที่เกิดตามภาพคือ จะมีแถบ Session ตรงข้างขวา | ||
+ | |||
+ | == Many2one Relations == | ||
+ | |||
+ | * ขั้นตอนต่อจากนี้จะเป็นการ เขียน Model ให้มีความสัมพันธ์กันแบบ Many to one | ||
+ | |||
+ | <pre> | ||
+ | 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' | ||
+ | </pre> |
รุ่นแก้ไขเมื่อ 11:30, 14 กรกฎาคม 2559
เนื้อหา
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'