Tutorial Odoo 9.0 Part 3 : กำหนด Model & Demo

จาก Morange Wiki

Define Model

  • แก้ไขไฟล์ Model ตามข้อความดังนี้

แก้ไข openacademy/models.py


class Course(models.Model):
    _name = 'openacademy.course'

    name = fields.Char(string="Title", required=True)
    description = fields.Text() 

ผลที่ได้

  • สร้างคลาสที่ชื่อว่า Course
  • กำหนดในคลาสว่ามีอะไรบ้าง ในส่วนนี้จะกำหนด name, description และตั้งชื่อที่ใช้เรียก Model นี้คือ openacademy.course



แก้ไข openacademy/demo.xml


<openerp>
    <data>
        <record model="openacademy.course" id="course0">
            <field name="name">Course 0</field>
            <field name="description">Course 0's description

Can have multiple lines
            </field>
        </record>
        <record model="openacademy.course" id="course1">
            <field name="name">Course 1</field>
            <!-- no description for this one -->
        </record>
        <record model="openacademy.course" id="course2">
            <field name="name">Course 2</field>
            <field name="description">Course 2's description</field>
        </record>
    </data>
</openerp>

ผลที่ได้

  • เราจะกำหนดข้อมูลให้กับ Model ตาม record

Actions and Menus

เพิ่มข้อความใน openacademy/__openerp__.py


    'data': [
        # 'security/ir.model.access.csv',
        'views/templates.xml',
        'views/openacademy.xml',
    ],
    # only loaded in demonstration mode
    'demo': [

เพิ่มไฟล์ openacademy/views/openacademy.xml


<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
        <!-- window action -->
        <!--
            The following tag is an action definition for a "window action",
            that is an action opening a view or a set of views
        -->
        <record model="ir.actions.act_window" id="course_list_action">
            <field name="name">Courses</field>
            <field name="res_model">openacademy.course</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">Create the first course
                </p>
            </field>
        </record>

        <!-- top level menu: no parent -->
        <menuitem id="main_openacademy_menu" name="Open Academy"/>
        <!-- A first level in the left side menu is needed
             before using action= attribute -->
        <menuitem id="openacademy_menu" name="Open Academy"
                  parent="main_openacademy_menu"/>
        <!-- the following menuitem should appear *after*
             its parent openacademy_menu and *after* its
             action course_list_action -->
        <menuitem id="courses_menu" name="Courses" parent="openacademy_menu"
                  action="course_list_action"/>
        <!-- Full id location:
             action="openacademy.course_list_action"
             It is not required when it is the same module -->
    </data>
</openerp>

Update การเปลี่ยนแปลง

  • ให้ค้นหา Module ของเราที่ติดตั้งไปแล้ว กด Upgrade
มีข้อผิดพลาดในการสร้างรูปย่อ: ไฟล์สูญหาย
  • หลังจากนั้นให้ restart Odoo ใหม่
 # sudo service odoo restart 
  • จะได้ผลลัพธ์ตามภาพ
มีข้อผิดพลาดในการสร้างรูปย่อ: ไฟล์สูญหาย

หัวข้อถัดไป Tutorial Odoo 9.0 Part 4 : Basic View