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 loaddata trong Django với Python

Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh loaddata của Django để nhập dữ liệu từ các file fixture vào cơ sở dữ liệu, giúp bạn dễ dàng thiết lập và quản lý dữ liệu khởi đầu cho ứng dụng của mình.

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 Loaddata là gì?

Lệnh loaddata của Django cho phép bạn tải dữ liệu từ một file vào cơ sở dữ liệu. Thông thường, bạn sử dụng lệnh dumpdata để xuất dữ liệu từ cơ sở dữ liệu và sử dụng lệnh loaddata để nhập dữ liệu từ file vào cùng một cơ sở dữ liệu hoặc một cơ sở dữ liệu khác.

Cú pháp của lệnh loaddata

python manage.py loaddata tên_fixture

Một fixture là một tập hợp các file dữ liệu mà Django sẽ sử dụng để nhập vào cơ sở dữ liệu.

Theo mặc định, Django sẽ tìm kiếm các fixture trong thư mục fixtures dưới mỗi ứng dụng và nhập dữ liệu từ chúng.

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

Ví dụ, cấu trúc thư mục fixtures và file hr.json trong ứng dụng hr của dự án như sau:

├── admin.py
├── apps.py
├── fixtures
|  └── hr.json
...

Đoạn trích sau đây từ file hr.json:

[
  {
    "model": "hr.contact",
    "pk": 1,
    "fields": {
      "phone": "40812345678",
      "address": "101 N 1st Street, San Jose, CA"
    }
  },
  {
    "model": "hr.contact",
    "pk": 2,
    "fields": {
      "phone": "4081111111",
      "address": "202 N 1st Street, San Jose, CA"
    }
  }
]

Để tải hr.json vào cơ sở dữ liệu, bạn sử dụng lệnh loaddata sau:

python manage.py loaddata hr.json

Cài đặt thư mục Fixture trong Django

Theo mặc định, Django tìm các file dữ liệu trong thư mục fixtures bên trong mỗi ứng dụng. Để chỉ định các thư mục bổ sung chứa các file fixture, bạn có thể thiết lập chúng trong danh sách FIXTURE_DIRS trong file settings.py:

FIXTURE_DIRS = ['đường/dẫn/tới/fixtures/dir', 'đường/dẫn/tới/fixtures/dir2']

Tải dữ liệu mẫu HR sử dụng Lệnh Django Loaddata

Mình sẽ sử dụng lệnh loaddata để tải dữ liệu từ các fixture cho ứng dụng HR của dự án Django.

Đầu tiên, tải xuống mã nguồn dự án và giải nén nó vào một thư mục.

Thư mục hr/fixtures có file data.json chứa dữ liệu mẫu HR.

Thứ hai, chạy lệnh loaddata để tải dữ liệu từ file data.json:

python manage.py loaddata data.json

Nó sẽ xuất ra kết quả như sau:

Installed 471 object(s) from 1 fixture(s)

Kết bài

Tóm lại, lệnh loaddata của Django là một công cụ hữu ích giúp bạn dễ dàng nhập dữ liệu từ các file fixture vào cơ sở dữ liệu của mình. Bằng cách sử dụng lệnh này, bạn có thể thiết lập dữ liệu khởi đầu một cách nhanh chóng và hiệu quả, giúp tiết kiệm thời gian và công sức trong quá trình phát triển và triển khai ứng dụng. Việc hiểu và sử dụng thành thạo lệnh loaddata sẽ giúp bạn quản lý dữ liệu dễ dàng hơn, đồng thời cải thiện quy trình phát triển của dự án Django của bạn.

Cùng chuyên mục:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top