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:

Sử dụng câu lệnh raise from trong Python

Sử dụng câu lệnh raise from trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ Raise trong Python

Ngoại lệ Raise trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về decorator dataclass trong Python

Tìm hiểu về decorator dataclass trong Python

Ví dụ sử dụng metaclass trong Python

Ví dụ sử dụng metaclass trong Python

Lớp Metaclass trong Python

Lớp Metaclass trong Python

Tìm hiểu về Class Type trong Python

Tìm hiểu về Class Type trong Python

Phương thức __new__ trong Python

Phương thức __new__ trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Mô tả Descriptors trong Python

Mô tả Descriptors trong Python

Tìm hiểu về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Top