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:

Tài liệu tham khảo nhanh về Regex trong Python

Tài liệu tham khảo nhanh về Regex trong Python

Hàm Flags của Regex trong Python

Hàm Flags của Regex trong Python

Hàm split() của Regex trong Python

Hàm split() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm finditer() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm fullmatch() của Regex trong Python

Hàm match() của Regex trong Python

Hàm match() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm sub() của Regex trong Python

Hàm search() trong Python Regex

Hàm search() trong Python Regex

Hàm findall() của regex trong Python

Hàm findall() của regex trong Python

Lookbehind trong Regex của Python

Lookbehind trong Regex của Python

Lookahead trong Python Regex

Lookahead trong Python Regex

Alternation Regex trong Python

Alternation Regex trong Python

Tìm hiểu Backreferences trong regex của Python

Tìm hiểu Backreferences trong regex của Python

Nhóm Non-capturing trong Regex Python

Nhóm Non-capturing trong Regex Python

Các nhóm Capturing trong regex của Python

Các nhóm Capturing trong regex của Python

Sets và Ranges trong Regex của Python

Sets và Ranges trong Regex của Python

Lượng từ non-greed trong Regex của Python

Lượng từ non-greed trong Regex của Python

Chế độ Greedy trong Regex Python

Chế độ Greedy trong Regex Python

Các lượng từ trong Regex của Python

Các lượng từ trong Regex của Python

Regex Word Boundary trong Python

Regex Word Boundary trong Python

Top