Я бы сделал следующим образом
1) 1-ый вариант
во вьюхах
from django.core import serializers
from .models import MyModel
def my_view(request):
    if request.is_ajax():
        x = request.GET.get('value', 5)
        data = serializers.serialize('json', MyModel.objects.all()[:x] )   #тут по вкусу, можно все объекты, можно частями.
        return HttpResponse(data, content_type='application/json')
    else:
        return render(request, 'template.html')
2) 2-ой вариант использовать Django-Rest-Framework
И в шаблонах уже jQuery-Ajax, Angular и.т.п.
Но я сам ещё совсем новичок в этом деле, поэтому могу ошибаться :)
Update:
Я нашёл вот такой вариант:
$(window).scroll(function() {   
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       $.ajax({
            type: 'GET',
            url: '{% url 'app:json_view' %}', //Ссылка на вьюху
            dataType: "json",
            data: {'value': 10},  //Здесь можно передать данные в GET запросе, например сколько значений получить 
            success: function(data) {
                // Ответ приходит в переменную data. Её и рендерим на страницу
            }
        }); 
  }
});