Trong bài này, chúng ta sẽ thực hành việc sử dụng Model trong Django bằng cách tạo Stock Model (data model về dữ liệu chứng khoán) và tiến hành các thao tác giữa model này với database. Trước hết, ta tạo một project và app với dòng lệnh sau:

Tiếp theo chúng ta tiến hành khai báo StockApp với DjangoProject bằng cách thêm StockappConfig class vào file DjangoProject/settings.py như sau (StockappConfig class nằm trong file StockApp/apps.py):

Sau đó ta tiến hành tạo Stock model trong file StockApp/models.py như sau:

Ở đây, Stock model là một data model của các mã chứng khoán với 4 trường thông tin là tên mã chứng khoán, giá trị roe, giá trị pb và tên công ty ứng với mã chứng khoán đó (các bạn tham khảo thêm các Field trong Django tại đây)

Tiếp theo chúng ta sử dụng lệnh makemigrations để khai báo những thay đổi của model với Django (trong trường hợp này, chúng ta tạo mới một model là Stock model):

Đối với việc tạo Stock model trên, chúng ta có thể kiểm tra xem quá trình migration Django sẽ sử dụng câu lệnh SQL nào với dòng lệnh sau:

Tiếp theo, ta sử dụng lệnh migrate để tạo model table trong database như sau (mặc định Django sử dụng cơ sở dữ liệu sqlite3):

Để xem database trong project một cách trực quan, chúng ta có thể sử dụng Django Admin bằng cách tạo admin user với lệnh sau:

Khởi chạy ứng dụng với lệnh python manage.py runserver và truy cập địa chỉ http://127.0.0.1:8000/admin ta được kết quả:

Hiện tại Database của chúng ta chỉ có Groups và Users mà chưa thấy xuất hiện Stock table do chúng ta chưa khai báo Stock model với Django administration. Do đó, ta cấu hình file StockApp/admin.py như sau:

Truy cập lại địa chỉ http://127.0.0.1:8000/admin ta đã thấy xuất hiện Stocks table nhưng chưa có dữ liệu:

Để thực hành với Stock model ta sử dụng Python shell với các dòng lệnh sau để hiển thị dữ liệu, thêm dữ liệu.. vào Stock tables như sau:

Truy cập lại địa chỉ http://127.0.0.1:8000/admin ta thấy Stocks table đã có các dữ liệu vừa được thêm vào:

Như vậy, với với định nghĩa Stock Model, chúng ta có thể dễ dàng thao tác với cơ sở dữ liệu mà không cần phải viết các đoạn code thực hiện kết nối database, chạy lệnh SQL để tạo table, thêm dữ liệu, truy xuất dữ liệu,…

Tháng Tám 28, 2021
ITechSeeker