Saya memiliki model yang mewakili lukisan yang saya tampilkan di situs saya. Di halaman web utama saya ingin menunjukkan beberapa di antaranya: yang terbaru, yang tidak dikunjungi untuk sebagian besar waktu, yang paling populer, dan yang acak.
Saya menggunakan Django 1.0.2.
Sementara 3 pertama dari mereka mudah ditarik menggunakan model Django, yang terakhir (acak) menyebabkan saya beberapa masalah. Saya dapat ofc kode itu dalam pandangan saya, untuk sesuatu seperti ini:
number_of_records = models.Painting.objects.count()
random_index = int(random.random()*number_of_records)+1
random_paint = models.Painting.get(pk = random_index)
Itu tidak terlihat seperti sesuatu yang saya ingin miliki dalam pandangan saya tho - ini sepenuhnya merupakan bagian dari abstraksi basis data dan harus ada dalam model. Juga, di sini saya perlu mengurus catatan yang dihapus (maka jumlah semua catatan tidak akan mencakup semua nilai kunci yang mungkin) dan mungkin banyak hal lainnya.
Ada pilihan lain bagaimana saya bisa melakukannya, lebih disukai entah bagaimana di dalam abstraksi model?