Đề tài: Xây dựng module quản lý sinh viênLab 01 - Đối tượng Hệ thống gồm có 3 đối tượng: sinh viên, ngành, khoa Phần 1: Tạo module rỗng Bước 1: Truy cập vào đường dẫn trang web hệ thống
Trang 1Đề tài: Xây dựng module quản lý sinh viên
Lab 01 - Đối tượng
Hệ thống gồm có 3 đối tượng: sinh viên, ngành, khoa
Phần 1: Tạo module rỗng
Bước 1: Truy cập vào đường dẫn trang web hệ thống Odoo tại máy tính localhost:8069
Bước 2: Tạo mới một database: Vào manage Databases và tạo mới (Create) 1 database với tên là
qlsinhvien và đặc mật khẩu cho tài khoản admin
Trang 2Sau khi tạo xong, hệ thống sẽ nạp các module cơ bản cần thiết cho quá trình phát triển hiện thống và sẽ được tự động đăng nhập vào là user admin
Sau đó User ở thanh menu bên trái Chọn tài khoản Administrator Chọn thẻ Access Rights Check vào checkbox Technical Features Save lại để mở toàn bộ chức năng quản lý của tài khoản Admin
Refresh lại trang, ta sẽ thấy giao diện mới như sau:
Trang 3Bước 3: Tạo 1 thư mục qlsinhvien bên trong thư mục chứa addons của Odoo (thông thường là [Đường
dẫn tới Odoo]\server\openerp\addons) 2 file init .py và openerp .py để tạo module
- Nội dung file init .py rỗng vì module hiện tại chưa có đối tượng nào
- Nội dung file openerp .py thực hiện như trong slide
Bước 3.1: Restart service Odoo trong Windows
Bước 4: Quay lại trang quản lý cập nhật lại danh sách các module
Bước 5: Tìm và cài đặt module (Odoo 8: Chọn Local Modules)
Trang 4Kết quả
Trang 5Phần 2: Xây dựng đối tượng
Bước 1: Trong thư mục qlsinhvien tạo 1 thư mục model (nơi sẽ chứa tất cả các đối tượng trong
module)
- Cập nhật lại file init .py
Import model
Bước 2: Tạo file nganh.py trong thư mục model
Đối tượng ngành gồm có các thuộc tính sau:
Tên thuộc tính Nhãn Kiểu dữ liệu Ràng buộc
khoa_id Khoa trực thuộc many2one(Khoa) Bắt buộc
soluongmonhoc Số lượng môn học integer
Giá trị mặc định: soluongmonhoc = 10
Code tham khảo:
*Lưu ý: mỗi đối tượng nên luôn có 1 thuộc tính ‘name’ Vì khi có 1 đối tượng khác tham chiếu tới sẽ
dùng thuộc tính này để hiển thị Nếu không có ‘name’ sẽ phát sinh các lỗi không mong muốn
Bước 3:
- Trong thư mục model tạo 1 file init .py để khai báo file nganh.py
Import nganh
Trang 6Rút kết luận về file init .py
- File nganh.py trong thư mục model được khai báo trong / qlsinhvien /model/ init .py
- Thư mục model được khai báo trong /qlsinhvien/ init .py (Vì bên trong model có các file py)
Tất cả các dữ liệu vật lý (các file, thư mục) liên quan các tập tin py đều phải được khai báo trong file init .py
Bước 4: Restart service
Bước 5: Tìm kiếm module qlsinhvien (bước 5 của phần 1) và Upgrade module
Bước 6: Kiểm tra lại kết quả
Cách 1: Database Struture => Models tìm đối tượng x_nganh Nếu có tồn tại 1 dòng dữ liệu về đối tượng x_ngành thì đã thành công
Cách 2: Truy cập vào CSDL postgres
Database qlsinhvien Schemas public table tìm đến đối tượng x_nganh
Nếu tồn tại 1 table tên x_nganh thì đã thành công
Trang 7Bài tập: Tiếp tục xây dựng 2 đối tượng còn lại x_khoa, x_sinhvien với các thuộc tính sau:
x_khoa
ngaythanhlap Ngày thành lập Date
dsnganh Danh sách ngành One2Many(Nganh)
x_sinhvien
tensv Tên sinh viên Char(250) Bắt buộc
Trang 8makhoa Mã khoa many2one(Khoa) trangthai Trạng thái selection