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.

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.