возникли проблемы с переопределением оператора __add__ для возврата кортежей python / django - PullRequest
0 голосов
/ 01 февраля 2012

Я не могу точно определить, где проблема, может быть синтаксис или что-то в наборах запросов, возвращаемых 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: redu () пустой последовательности без начального значения.

ОБНОВЛЕНИЕ: Мои списки были пусты. Я решил это и получил эту ошибку

TypeError: неподдерживаемые типы операндов для +: 'dict' и 'dict' Но не должно ли это добавляться в кортеж, а не в слова?

Есть мысли? Я поступаю по этому поводу совершенно неправильно?

Спасибо

1 Ответ

2 голосов
/ 01 февраля 2012

Ваш фильтр просто не возвращает результатов. Я только что проверил ваш код, и он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...