2012年3月2日金曜日

djangoのquerysetをランダムに並べ替える

商品をランダムに並べ替えて10個だけ表示したいんです。

MySQL的にやる方法
products = Product.objects.order_by('?')[:10]

randomモジュールを使う方法
import random

products = random.sample(Product.objects.all(), 10)

短い納期には短いコードで勝負だ。
効率を求めるなら時間と金をくれ。

とりあえず効率の話はここに書いてあったです。
http://elpenia.wordpress.com/2010/05/11/getting-random-objects-from-a-queryset-in-django/

まあ、そんなとこです。

0 件のコメント:

コメントを投稿