重写uuu add uuu运算符以返回元组python/django时出现问题

重写uuu add uuu运算符以返回元组python/django时出现问题,python,django,add,Python,Django,Add,我不能很准确地指出问题在哪里,可能是语法问题,或者django返回的QuerySet有什么问题,我不太明白 Class1(models.Model): ... def __add__(self,other) return other + ({'attribute': value}, ..) 我希望类之间的加法将返回所有对象的1个元组并放入其中。 因此,我不得不避免使用sum()函数,因为它要查找整数 Class Summate(): @staticmet

我不能很准确地指出问题在哪里,可能是语法问题,或者django返回的QuerySet有什么问题,我不太明白

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”的操作数类型 但它不应该附加元组而不是dicts吗

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


谢谢,

您的筛选器必须不返回任何结果。我刚刚测试了你的代码,它运行正常。

现在不是
QuerySet
对象吗?你应该使用
list(例如_list)
@user334796将其制作成一个真正的列表,如果你遇到了这个错误,我只能想象你在粘贴的字典后面没有逗号?你是对的代码很好,列表是空的,而dict错误是通过在后面的dict后面添加一个“,”来解决的。谢谢你,Yuji,我在某个时间点上疯了