Выборка MySQL приводит к Джанго - PullRequest
0 голосов
/ 13 мая 2011

Я использую django raw sql.Допустим, возвращает 250 записей.Я хочу проверить результаты на основе процента ввода, указанного пользователем в форме (в шаблоне).Как мы можем достичь этого?Я могу получить введенный пользователем номер, используя метод get.После этого, как я могу сэмплировать записи?Пожалуйста, помогите мне

-Викрам

1 Ответ

1 голос
/ 13 мая 2011

Я не знаю, почему вы делаете 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% всех объектов модели, рандомизированных.

...