【发布时间】:2012-02-01 18:29:53
【问题描述】:
我不能完全确定问题出在哪里,可能是语法或 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() of empty sequence with no initial value。
更新:我的清单是空的。我解决了这个问题并收到了这个错误
TypeError: +: 'dict' 和 'dict' 的操作数类型不受支持 但它不应该附加元组而不是字典吗?
有什么想法吗?我是不是完全错了?
谢谢,
【问题讨论】:
-
eg_list现在不是QuerySet对象了吗?您应该使用list(eg_list)将其设为真实列表 -
@user334796,如果您遇到该错误,我只能想象您在粘贴字典后没有逗号?