将Django Query的结果切片为10个set



我有一个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个结果的集合(每个结果是一个string), dictionary可能可以工作,只是在语法上有点损失。

更新我也想过一些方法来使用for()循环计数10个对象(从django查询像:

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

问题是每次只返回一个对象,而不是10个对象的集合。我很困惑如何处理这个问题

任何有用的代码片段,建议,和/或链接将是有帮助的。

谢谢!

你可以将切片和for循环结合使用:

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

最新更新