У мене є модель, яка представляє картини, які я представляю на своєму сайті. На головній веб-сторінці я хотів би показати деякі з них: новітні, не відвідувані більшість часу, найпопулярніші та випадкові.
Я використовую Django 1.0.2.
Хоча перші 3 з них легко витягти за допомогою моделей джанго, остання (випадкова) завдає мені певних проблем. Я можуcc кодувати це, на мій погляд, приблизно так:
number_of_records = models.Painting.objects.count()
random_index = int(random.random()*number_of_records)+1
random_paint = models.Painting.get(pk = random_index)
На мій погляд, це не схоже на те, що я хотів би мати - це цілком частина абстракції бази даних і має бути в моделі. Крім того, тут мені потрібно подбати про вилучені записи (тоді кількість усіх записів не покриє мені всіх можливих ключових значень) і, мабуть, безліч інших речей.
Будь-які інші варіанти, як я можу це зробити, бажано якось усередині модельної абстракції?