我有一个模型,代表我在我的网站上展示的绘画。在主网页上,我想展示其中的一些:最新的,大部分时间没有访问的,最受欢迎的和随机的
我正在使用Django 1.0.2
虽然前三个使用django模型很容易拉,但最后一个(随机)给我带来了一些麻烦。在我看来,我可以将其编码为如下内容:
记录数=models.Painting.objects.count()
random_index=int(random.random()*_记录的数量)+1
random_paint=models.paint.get(pk=random_索引)
它看起来不像我希望在我的视图中看到的东西——这完全是数据库抽象的一部分,应该在模型中。此外,这里我需要处理删除的记录(那么所有记录的数量将不会涵盖所有可能的键值)以及可能的许多其他内容
还有其他的选择吗,最好是在模型抽象内部
只需使用:
MyModel.objects.order_by('?').first()
它记录在QuerySet API中