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 thêm Progress Bar trong Python với chỉ một dòng Code

Cách thêm Progress Bar trong Python với chỉ một dòng Code

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Cách nạp dữ liệu Machine Learning từ File trong Python

Cách nạp dữ liệu Machine Learning từ File trong Python

Hướng dẫn sử dụng Google Sheets API với Python

Hướng dẫn sử dụng Google Sheets API với Python

Xây dựng  web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn viết Snake Game bằng Python

Hướng dẫn viết Snake Game bằng Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng Python Debugger với hàm breakpoint()

Cách sử dụng Python Debugger với hàm breakpoint()

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hỗ trợ Async trong Django 3.1

Hỗ trợ Async trong Django 3.1

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

Ý nghĩa của if __name__ ==

Ý nghĩa của if __name__ == "__main__" trong Python

Cách xóa phần tử trong danh sách Python

Cách xóa phần tử trong danh sách Python

Top