重写uuu add uuu运算符以返回元组python/django时出现问题
我不能很准确地指出问题在哪里,可能是语法问题,或者django返回的QuerySet有什么问题,我不太明白重写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
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,我在某个时间点上疯了