将Django查询的结果切成10个集合

时间:2014-05-12 20:59:39

标签: python django python-2.7 split slice

我有一个class I和另一个class X

X类:

class X(I):
    userUrls = self.loadGivenDomainPaths

    def compute_path_amount(self):
        if count(userUrls) > 10:
            #try:
                #Slice urls into list of 10s from userUrls
            #except:
                #error occurred.
        else:
            #blah

如何对上面的try()块进行编码以将loadGivenDomainPaths的结果切割为:

PathsOfDomain.objects.filter(TheFK=user, a=True)

我想将结果切割成10个结果的集合(每个结果都是stringdictionary可能有效,只是在这里有一点语法损失。

更新我还考虑过使用for()循环计算10个对象的方法(来自django查询,如:

def get_10_paths(self):
    for obj in domainPaths:
        return objs

问题是这只能一次返回一个对象,而不是一组10.我对如何处理这个问题感到困惑

任何有用的代码段,建议和/或链接都会有所帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,你可以将切片与for循环结合起来:

def compute_path_amount(self):
    return [
        self.__class__.userUrls[i:i+9] for i in xrange(
            0, len(self.__class__.userUrls), 10
        )
    ]