2013-03-07 29 views
5

Hãy nói rằng có một mô hình với tự mặc định được mô tả trong lớp MetaDjango: Làm thế nào để vô hiệu hóa trật tự trong mô hình

class People(models.Model): 
    first_name = models.CharField(max_length=100) 
    last_name = models.CharField(max_length=100) 
    middle_name = models.CharField(max_length=100) 

    class Meta: 
     ordering = (last_name, first_name) 

Có là một cách để có được thứ tự Querryset

+0

Tại sao bạn cần một tập hợp không có thứ tự? Bạn có cần nó ngẫu nhiên không? –

+3

trên thực tế bảng của tôi có ~ 400 000 bản ghi, và vô hiệu hóa thứ tự sẽ tăng tốc độ truy vấn cơ sở dữ liệu rất nhiều, do đó, đó là một số loại tối ưu hóa – user1454592

+1

Nếu đó luôn luôn là trường hợp (nhiều bản ghi) thì có thể tốt hơn để loại bỏ thứ tự mặc định trong lớp Meta. –

Trả lời

13

Bạn chỉ có thể ghi đè lên bằng cách đơn giản thêm .order_by()

ví dụ:

People.objects.all().order_by() 

Điều này sẽ đảm bảo rằng Thứ tự meta bị ghi đè.

Các vấn đề liên quan