工作中遇到要随机提取一定数量数据,经过百度和谷歌找到以下解决方案
models.py模型:
class Record(models.Model): """docstring for Record""" id = models.AutoField(primary_key = True) content = models.CharField(max_length = 16) def __str__(self): return "id:%s content:%s" % (self.id, self.content) def __unicode__(self): return u"id:%s content:%s" % (self.id, self.content)@H_403_6@第一种(比较快和简单)
Record.objects.order_by('?')[:2]@H_403_6@第二种
import random sample = random.sample(xrange(Record.objects.count()),n) result = [Record.objects.all()[i]) for i in sample]@H_403_6@
来源网址:http://blog.jobbole.com/52852/