Đã giải quyết: truy vấn mô hình django

Một trong những vấn đề chính với truy vấn mô hình Django là chúng có thể rất dài dòng. Ví dụ: nếu bạn muốn tìm tất cả các bài viết trong một blog nhất định, bạn sẽ cần sử dụng một truy vấn như sau:

bài viết = Blog.objects.all()

Nếu bạn muốn tìm tất cả các bài báo đã được xuất bản trong tháng trước, bạn sẽ cần sử dụng truy vấn như sau:

Articles_published_in_the_last_month = Blog.objects.filter(published=True)

There are a number of ways to query a Django model. The simplest way is to use the Model.objects.all() method, which will return all objects for that model.

If you want to filter the queryset, you can use the Model.objects.filter(**kwargs) method, where kwargs is a dictionary of field names and values to filter on. For example, if you only wanted objects with a certain value for the 'name' field, you could do:

Model.objects.filter(name='value')

If you want to get a single object from the queryset, you can use the Model.objects.get(**kwargs) method, which will return the first object that matches the given criteria. For example, if you wanted to get an object with a particular 'id' value:

Model.objects.get(id=1)

Nếu muốn sắp xếp bộ truy vấn, bạn có thể sử dụng phương thức Model.objects.order_by(field_name), phương thức này sẽ sắp xếp bộ truy vấn theo trường đã cho theo thứ tự tăng dần. Bạn cũng có thể sử dụng tiền tố '-' để sắp xếp theo thứ tự giảm dần:

Model.objects.order_by('-name')

Truy vấn là gì

QuerySet là một tập hợp các mô hình liên quan có thể được truy vấn cùng nhau. Đó là một cách thuận tiện để nhóm các mô hình lại với nhau để bạn có thể dễ dàng truy vấn chúng dưới dạng một đơn vị.

Biểu thức truy vấn

Biểu thức truy vấn là một cách hiệu quả để lọc dữ liệu trong Django. Nó tương tự như mệnh đề WHERE trong truy vấn SQL, nhưng nó có thể được sử dụng với bất kỳ đối tượng mô hình nào.

Ví dụ: bạn có thể sử dụng một biểu thức truy vấn để tìm tất cả các bài viết có tiêu đề bắt đầu bằng “Cách thực hiện”:

bài viết.filter(title__startswith='Làm thế nào để')

Tham chiếu API bộ truy vấn

API QuerySet cung cấp một cách để truy vấn các trường và dữ liệu liên quan của mô hình. API được lập mô hình sau câu lệnh SQL SELECT và cho phép bạn chỉ định trường nào bạn muốn truy xuất, thứ tự bạn muốn chúng được trả về và số lượng hàng dữ liệu bạn muốn trả về.

Để sử dụng API QuerySet, trước tiên hãy tạo một đối tượng mô hình:

từ django.db nhập mô hình lớp MyModel(models.Model): name = models.CharField(max_length=30)

Sau đó tạo một đối tượng truy vấn:

query = MyModel.objects.create_query() query.select('name').order_by('-name')

bài viết liên quan:

Để lại một bình luận