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

Trong bài viết này, bạn sẽ học cách sử dụng isnull trong Django để kiểm tra xem một giá trị có phải là NULL hay không. Việc xác định giá trị NULL rất quan trọng trong các cơ sở dữ liệu quan hệ, vì nó cho phép bạn xử lý thông tin bị thiếu hoặc không xác định một cách hiệu quả. Với isnull, bạn có thể dễ dàng lọc và truy vấn dữ liệu để đáp ứng các yêu cầu cụ thể của ứ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.

Giới thiệu về isnull trong Django

Mình sẽ sử dụng các mô hình EmployeeContact từ ứng dụng HR để minh họa. Các mô hình EmployeeContact ánh xạ tới các bảng hr_employeehr_contact trong cơ sở dữ liệu.

django orm employee contact png

Trong các cơ sở dữ liệu quan hệ, NULL biểu thị thông tin bị thiếu. Ví dụ, nếu bạn không biết thông tin liên lạc của một nhân viên, bạn có thể sử dụng NULL cho liên lạc của nhân viên đó tại thời điểm ghi nhận.

NULL là đặc biệt vì bạn không thể sử dụng toán tử = để so sánh một giá trị với NULL. Thay vào đó, bạn sử dụng toán tử IS.

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

Ví dụ, để kiểm tra xem giá trị trong contact_id có phải là NULL hay không, bạn sử dụng toán tử IS như sau:

contact_id IS NULL

IS NULL trả về true nếu contact_id là NULL hoặc false nếu không phải.

Để phủ định toán tử IS, bạn có thể sử dụng toán tử NOT như sau:

contact_id IS NOT NULL

Django sử dụng isnull để kiểm tra xem một giá trị có phải là NULL hay không:

Entity.objects.filter(field_name__isnull=True)

Phương thức filter() trả về tất cả các đối tượng có field_name là NULL. Để phủ định isnull, bạn so sánh nó với False như sau:

Entity.objects.filter(field_name__isnull=False)

Trong trường hợp này, phương thức filter() trả về tất cả các đối tượng của Entityfield_name không phải là NULL.

Ví dụ về isnull trong Django

Ví dụ sau sử dụng isnull để lấy danh sách các nhân viên không có thông tin liên lạc:

>>> Employee.objects.filter(contact_id__isnull=True)

Truy vấn sinh ra sử dụng toán tử IS NULL để so sánh contact_id với NULL.

Ví dụ sau sử dụng isnull để lấy tất cả các nhân viên có thông tin liên lạc:

>>> Employee.objects.filter(contact_id__isnull=False)

Trong trường hợp này, truy vấn sinh ra sử dụng IS NOT NULL để so sánh các giá trị trong cột contact_id với NULL.

Kết bài

Sử dụng isnull trong Django giúp bạn dễ dàng kiểm tra và xử lý các giá trị NULL trong cơ sở dữ liệu của mình. Bằng cách sử dụng isnull, bạn có thể tạo các truy vấn linh hoạt và chính xác hơn, đảm bảo rằng ứng dụng của bạn hoạt động mượt mà và đáp ứng đúng yêu cầu dữ liệu. Kỹ năng này là một phần quan trọng trong việc quản lý và tương tác với cơ sở dữ liệu trong Django, giúp bạn tối ưu hóa hiệu suất và độ tin cậy của ứng dụng.

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