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:

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