如何在django中访问itertools对象

时间:2016-01-09 13:57:15

标签: javascript python django

我已经定义了一个get_queryset()方法,我希望返回两个查询集对象,如:

get_queryset(self):
    r1 = Books.objects.filter(auther_id=1);
    r2 = Books.objects.filter(~Q(auther_id=1));
    return r1,r2

对此方法的调用来自带有ajax调用的javascript文件。 现在我想在js文件中单独访问r1和r2。 我试着做了

r=chain(r1,r2) // in views.py

r.r1.fieldName  and r.r2.fieldName  // in js file.

我不确定如何解开itertools对象。如果不可能,任何人都可以告诉我其他方法。

我也看到像ifilter()等方法来访问对象但我想在js中访问它。

编辑:我编辑了代码。我可以像

那样进行查询
Books.objects.all()

并且在js做了一些事情来获得两个列表,其中一个有auther_id 1的书籍,第二个列表有其他的auther id。

1 个答案:

答案 0 :(得分:1)

这根本没有任何意义。你不能'解开'某些东西; chain的全部意义在于它将各个元素组合成一个单独的无差别项,没有办法说明其中一个原件结束而下一个原始结束。

如果要在模板中单独访问两个查询集,则传递两个单独的查询集。