Я не знаю, почему вы делаете raw sql, но вот способ, которым вы могли бы сделать это с помощью запросов Django ...
def sample_results(request):
try:
perc = float(request.GET['percent'])
except AttributeError:
# Default to showing all records
perc = 100
# Decimal version of percent
perc = perc / 100
# get all objects in a random order
results = SomeModel.objects.all().order_by("?")
#determine how many to grab from the queryset
num = results.count()
grab = int(num * perc)
# refine the results to the first however many we need
results = results[:grab]
return render_to_response("some/template.html", {"results": results}, context_instance=RequestContext(request))
Таким образом, если бы вы имели / some / url?% = 40, это показало бы 40% всех объектов модели, рандомизированных.