有问题覆盖__add__运算符以返回元组python / django

时间:2012-02-01 18:29:53

标签: python django add

我无法确定问题所在,可能是语法还是django返回的查询集有些东西我不太了解。

Class1(models.Model):
    ...
    def __add__(self,other)
        return other + ({'attribute': value}, ..)

我希望类之间的添加将返回包含所有对象的1个元组并放入其中。 因此,我必须避免使用sum()函数,因为它正在寻找整数。

Class Summate():
    @staticmethod
    def sum_tuples(items)
        return reduce(lambda y,x: x+y, items)


eg_list = Class1.objects.all()
values = Summate.sum_tuples(eg_list)

我得到一个没有初始值的TypeError:reduce()的空序列。

  

更新:我的清单是空的。我解决了这个并收到了这个错误

     

TypeError:+:'dict'和'dict'不支持的操作数类型   但它不应该附加元组而不是序列吗?

有什么想法?我完全错了吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

您的过滤器必须只返回无结果。我刚刚测试了你的代码并且它可以工作。