我已经定义了一个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。
答案 0 :(得分:1)
这根本没有任何意义。你不能'解开'某些东西; chain
的全部意义在于它将各个元素组合成一个单独的无差别项,没有办法说明其中一个原件结束而下一个原始结束。
如果要在模板中单独访问两个查询集,则传递两个单独的查询集。