Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thêm trường JSON vào model Django

Trong bài viết này, chúng ta sẽ xem cách thêm trường JSON vào model Django. JSON là định dạng đơn giản để lưu trữ dữ liệu dạng key-value, viết trong dấu ngoặc nhọn. Thường dùng khi cần lưu trữ dữ liệu linh hoạt, không cấu trúc cố định.

Thiết lập dự án

Tạo dự án Django và app. Thực hiện các bước cơ bản: thêm app vào INSTALLED_APPS, cấu hình urls, tạo model cơ bản và render form ra HTML.

Ví dụ chi tiết

1. Cài đặt package

pip install django-jsonfield

2. Tạo Model (models.py)

import jsonfield
from django.db import models

class StudentData(models.Model):
    name = models.CharField(max_length=100)
    standard = models.CharField(max_length=100)
    section = models.CharField(max_length=100)
    the_json = jsonfield.JSONField()

Model có 4 trường, trong đó the_json là trường JSONField từ thư viện bên thứ ba.

3. Đăng ký Admin (admin.py)

from django.contrib import admin
from .models import StudentData

admin.site.register(StudentData)

4. Chạy migration

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

Các lệnh này tạo bảng trong database và tạo tài khoản admin.

Kết quả

Truy cập https://127.0.0.1/admin/, vào model admin và thêm instance mới. Bạn sẽ thấy trường JSON với giao diện editor hỗ trợ định dạng JSON.

Thêm trường JSON vào model Django

Lưu ý: Từ Django 3.1+, Django đã có sẵn JSONField built-in (django.db.models.JSONField), không cần cài thêm package. Nên sử dụng built-in field cho các dự án mới.