Tôi có một mô hình đại diện cho các bức tranh tôi trình bày trên trang web của tôi. Trên trang web chính tôi muốn hiển thị một số trong số họ: mới nhất, một trang không được truy cập trong hầu hết thời gian, phổ biến nhất và ngẫu nhiên.
Tôi đang sử dụng Django 1.0.2.
Mặc dù 3 người đầu tiên dễ dàng sử dụng các mô hình django, nhưng lần cuối (ngẫu nhiên) gây ra cho tôi một số rắc rối. Tôi có thể mã hóa nó theo quan điểm của tôi, để một cái gì đó như thế này:
number_of_records = models.Painting.objects.count()
random_index = int(random.random()*number_of_records)+1
random_paint = models.Painting.get(pk = random_index)
Nó không giống như một cái gì đó tôi muốn có trong quan điểm của mình tho - đây hoàn toàn là một phần của sự trừu tượng hóa cơ sở dữ liệu và nên có trong mô hình. Ngoài ra, ở đây tôi cần chăm sóc các bản ghi bị xóa (sau đó số lượng tất cả các bản ghi sẽ không bao gồm cho tôi tất cả các giá trị chính có thể) và có thể rất nhiều thứ khác.
Bất kỳ tùy chọn nào khác làm thế nào tôi có thể làm điều đó, tốt nhất là bằng cách nào đó bên trong mô hình trừu tượng?