筛选 JSON 结果 - Django 1.8 - Github API v3

Filter JSON results - Django 1.8 - Github API v3

我正在尝试过滤模板上 API 查询的结果,我有这个方法:

def profile(request):
parsedData = []
if request.method == 'POST':
    username = request.POST.get('user')
    req = requests.get('https://api.github.com/users/' + username + '/repos') 
    jsonList = []
    jsonList=req.json()
    for data in jsonList:
        userData = {}
        userData['html_url'] = data['html_url']
        userData['created_at'] = data['created_at']
        userData['updated_at'] = data['updated_at']
        userData['forks_count'] = data['forks_count']
        repo_instance = Repo.objects.create(name=data['html_url'],created_at=data['created_at'],updated_at=data['updated_at'],forks_count=data['forks_count'])
        repos = Repo.objects.filter(updated_at__lt = timezone.now()).order_by('updated_at')
        parsedData.append(userData)
return render(request, 'app/profile.html', {'data': parsedData})

这种方法,查询一个像这样的地址,例如 githubtraining

还将找到的每个存储库存储到数据库中。

现在,我想要的是将从该查询中获得的结果过滤到我的应用程序的视图中,这就是我的模板中的内容:

<div class="table-responsive">
  <table class="table table-bordered table-hover table-striped tablesorter">
      <thead>
      <tr>
        <th class="header"> Url <i class="icon-sort"></i></th>
        <th class="header"> Created at <i class="icon-sort"></i></th>
        <th class="header"> Updated at <i class="icon-sort"></i></th>
        <th class="header"> Forks count <i class="icon-sort"></i></th>
      </tr>
  </thead>
  <tbody>

  {% for key in data %}
      <tr>
          <td>{{ key.html_url }}</td>
          <td>{{ key.created_at }}</td>
          <td>{{ key.updated_at }}</td>
          <td>{{ key.forks_count }}</td>
      </tr>
  {% endfor %}

  </tbody>
  </table>
</div>

如您所见,API returns 带有一些 JSON 数据的回购,其中一项是 updated_at。我需要的是按这些日期过滤生成的查询,从最新到最旧的更新(提交)。

我试过将它们存储到数据库中,然后过滤结果,但它不是这样工作的,而且,我认为这不是最佳解决方案,所以,我需要 "capture" 结果在显示之前,然后将其过滤到我的视图中 (html)。

有什么想法吗?

您可以参考此 以获得API 回复

您应该像这样(使用 -)在您的查询集上应用订单:

repos = Repo.objects.filter(updated_at__lt = timezone.now()).order_by('-updated_at')