DJANGO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Sử dụng lệnh dumpdata trong Django với Python

Việc quản lý dữ liệu giữa các môi trường khác nhau, chẳng hạn như từ môi trường thử nghiệm đến môi trường sản xuất, là một nhu cầu thiết yếu. Django, một framework web phổ biến, cung cấp nhiều công cụ tốt để thực hiện các tác vụ này, và lệnh dumpdata là một trong số đó. Trong bài viết này, bạn sẽ học cách sử dụng lệnh dumpdata của Django để xuất cơ sở dữ liệu ra các file, giúp bạn dễ dàng chuyển dữ liệu giữa các cơ sở dữ liệu và môi trường khác nhau một cách hiệu quả và linh hoạt.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Lệnh Django Dumpdata là gì?

Đôi khi, bạn muốn chuyển một số dữ liệu chung từ cơ sở dữ liệu thử nghiệm sang cơ sở dữ liệu sản xuất. Để làm điều đó, bạn có thể sử dụng lệnh dumpdata để xuất dữ liệu từ cơ sở dữ liệu thử nghiệm ra một file và nhập nó vào cơ sở dữ liệu sản xuất bằng lệnh loaddata.

Lệnh dumpdata có nhiều tùy chọn cho phép bạn:

  • Xuất tất cả các thể hiện của mô hình từ tất cả các ứng dụng (toàn bộ cơ sở dữ liệu) ra một file.
  • Xuất tất cả các thể hiện của mô hình từ một ứng dụng ra một file.
  • Xuất một số thể hiện của mô hình (một số bảng trong cơ sở dữ liệu) ra một file.

Định dạng của file đầu ra có thể là xml, json, jsonl, hoặc yaml. Ví dụ sau đây xuất toàn bộ cơ sở dữ liệu ra một file data.json:

Bài viết này được đăng tại [free tuts .net]

python manage.py dumpdata > data.json

Nếu bạn mở file data.json, bạn sẽ thấy rất nhiều dữ liệu. Ví dụ, đoạn sau đây hiển thị thể hiện của mô hình Employee:

{
    "model": "hr.employee",
    "pk": 5,
    "fields": {
      "first_name": "freetuts",
      "last_name": ".net",
      "contact": null,
      "department": 1,
      "compensations": [1, 2]
    }
}

Mô hình mẫu chứa các thông tin sau:

  • Tên mô hình (hr.employee).
  • Giá trị khóa chính (pk).
  • Các trường (first_name, last_name, contact, department, và compensations) của mô hình Employee.

Nếu bạn muốn xuất toàn bộ cơ sở dữ liệu ra định dạng khác như XML, bạn cần chỉ định tùy chọn format:

python manage.py dumpdata --format xml > data.xml

Xuất dữ liệu từ một ứng dụng trong Django

Để xuất dữ liệu của một ứng dụng cụ thể, bạn chỉ định tên ứng dụng:

python manage.py dumpdata app_name > filename.json

Ví dụ, lệnh sau đây xuất các thể hiện của mô hình trong ứng dụng hr:

python manage.py dumpdata hr > hr.json

Xuất dữ liệu từ một mô hình trong Django

Để xuất dữ liệu của một bảng cụ thể, bạn chỉ định tên ứng dụng và tên mô hình như sau:

python manage.py dumpdata app_name.model_name > filename

Ví dụ, lệnh sau đây xuất tất cả các thể hiện của bảng Employee trong ứng dụng HR:

python manage.py dumpdata hr.employee > hr_employee.json

Xuất dữ liệu bằng cách loại trừ một hoặc nhiều mô hình trong Django

Đôi khi, bạn muốn xuất dữ liệu từ tất cả các mô hình trừ một hoặc nhiều mô hình. Trong trường hợp này, bạn có thể sử dụng tùy chọn --exclude:

python manage.py dumpdata --exclude app_name.model_name > filename

Lưu ý rằng lệnh có thể chứa nhiều tùy chọn --exclude để bạn có thể loại trừ nhiều mô hình.

Ví dụ, lệnh sau đây xuất dữ liệu từ toàn bộ cơ sở dữ liệu trừ mô hình contact:

python manage.py dumpdata --exclude hr.contact > data.json

Lệnh sau xuất dữ liệu từ toàn bộ cơ sở dữ liệu trừ các mô hình contact và department:

python manage.py dumpdata --exclude hr.contact --exclude hr.department > data.json

Kết bài

Lệnh dumpdata của Django là một công cụ mạnh mẽ và linh hoạt giúp bạn xuất dữ liệu từ cơ sở dữ liệu ra các file. Việc sử dụng lệnh này không chỉ giúp bạn dễ dàng sao lưu và chuyển dữ liệu giữa các môi trường mà còn hỗ trợ bạn trong việc kiểm tra, phát triển và triển khai ứng dụng một cách hiệu quả. Bằng cách tận dụng các tùy chọn của lệnh dumpdata, bạn có thể xuất dữ liệu từ toàn bộ cơ sở dữ liệu, từ một ứng dụng cụ thể, hoặc từ một mô hình cụ thể, cũng như loại trừ một hoặc nhiều mô hình khỏi quá trình xuất dữ liệu. Hiểu và sử dụng thành thạo lệnh dumpdata sẽ là một phần quan trọng giúp bạn quản lý dữ liệu trong dự án Django của mình một cách dễ dàng và hiệu quả.

Cùng chuyên mục:

Cách tạo một widget nhập ngày và giờ sử dụng PyQt QDateTimeEdit

Cách tạo một widget nhập ngày và giờ sử dụng PyQt QDateTimeEdit

Cách tạo một widget nhập giờ sử dụng lớp PyQt QTimeEdit

Cách tạo một widget nhập giờ sử dụng lớp PyQt QTimeEdit

Cách tạo một widget nhập ngày sử dụng lớp PyQt QDateEdit

Cách tạo một widget nhập ngày sử dụng lớp PyQt QDateEdit

Cách sử dụng widget PyQt QSpinBox để tạo một spin box

Cách sử dụng widget PyQt QSpinBox để tạo một spin box

Sử dụng PyQt QComboBox để tạo Widget Combobox

Sử dụng PyQt QComboBox để tạo Widget Combobox

Cách sử dụng lớp PyQt QRadioButton

Cách sử dụng lớp PyQt QRadioButton

Cách sử dụng lớp QCheckBox trong PyQt

Cách sử dụng lớp QCheckBox trong PyQt

Cách sử dụng QFormLayout trong PyQt

Cách sử dụng QFormLayout trong PyQt

Cách sử dụng QGridLayout trong PyQt

Cách sử dụng QGridLayout trong PyQt

Cách sử dụng QVBoxLayout trong PyQt

Cách sử dụng QVBoxLayout trong PyQt

Cách sử dụng widget QLineEdit trong PyQt

Cách sử dụng widget QLineEdit trong PyQt

Cách sử dụng widget QPushButton của PyQt

Cách sử dụng widget QPushButton của PyQt

Cách sử dụng widget PyQt QLabel

Cách sử dụng widget PyQt QLabel

Tín hiệu và Khe (Signals & Slots) trong PyQt

Tín hiệu và Khe (Signals & Slots) trong PyQt

PyQt là gì? Tạo một chương trình

PyQt là gì? Tạo một chương trình "Hello World".

Ứng dụng System Tray với Tkinter

Ứng dụng System Tray với Tkinter

Cách hiển thị đồ thị từ thư viện Matplotlib trong Tkinter

Cách hiển thị đồ thị từ thư viện Matplotlib trong Tkinter

Cách sử dụng Validate trong Tkinter

Cách sử dụng Validate trong Tkinter

Cấu trúc MVC trong Tkinter

Cấu trúc MVC trong Tkinter

Cách sử dụng widget PhotoImage của Tkinter

Cách sử dụng widget PhotoImage của Tkinter

Top