Ошибка типа: метод экземпляра ожидал не менее 2 аргументов, получил 0 - PullRequest
2 голосов
/ 17 сентября 2010

Django 1.1.2 и Python 2.6.5

Я продолжаю получать эту ошибку при выполнении, казалось бы, невинного набора запросов. Выглядит точно так же, как проблема, описанная в http://code.djangoproject.com/ticket/7204 Однако я использую Django 1.1.2, которая должна иметь исправление этой ошибки Кто-нибудь имел дело с чем-то подобным раньше?

Вот код, который создает запрос:

def get_some_data(self, start_date, end_date):
    qset = Transaction.txn_objects.get_transactions_between(self.business,
                                                            start_date, 
                                                            end_date)
    income_qset = qset.filter(invoiceitem__invoice__customer = self)
    income_qset = income_qset.exclude(
                    account=F("invoiceitem__taxtypes__account_payable"))
    sums = income_qset.aggregate(models.Sum('credit_amount')) # fails here

Вот сокращенная версия трассировки (не очень полезная):

File ".../models.py" in get_income_between
  200.         sums = income_qset.aggregate(models.Sum('credit_amount'))
File ".../lib/python2.6/site-packages/django/db/models/query.py" in aggregate
  274.         query = self.query.clone()
File ".../lib/python2.6/site-packages/django/db/models/sql/query.py" in clone
  201.         obj.where = deepcopy(self.where, memo=memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  173.                 y = copier(memo)
File ".../lib/python2.6/site-packages/django/utils/tree.py" in __deepcopy__
  61.         obj.children = deepcopy(self.children, memodict)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_list
  228.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  173.                 y = copier(memo)
File ".../lib/python2.6/site-packages/django/utils/tree.py" in __deepcopy__
  61.         obj.children = deepcopy(self.children, memodict)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_list
  228.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  173.                 y = copier(memo)
File ".../lib/python2.6/site-packages/django/utils/tree.py" in __deepcopy__
  61.         obj.children = deepcopy(self.children, memodict)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_list
  228.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  173.                 y = copier(memo)
File ".../lib/python2.6/site-packages/django/utils/tree.py" in __deepcopy__
  61.         obj.children = deepcopy(self.children, memodict)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_list
  228.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_tuple
  235.         y.append(deepcopy(a, memo))
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  338.             state = deepcopy(state, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  162.         y = copier(x, memo)
File "/usr/lib/python2.6/copy.py" in _deepcopy_dict
  255.         y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python2.6/copy.py" in deepcopy
  189.                 y = _reconstruct(x, rv, 1, memo)
File "/usr/lib/python2.6/copy.py" in _reconstruct
  323.     y = callable(*args)
File "/usr/lib/python2.6/copy_reg.py" in __newobj__
  93.     return cls.__new__(cls, *args)

Exception Type: TypeError at /reports/income_expense/by_customer/32/
Exception Value: instancemethod expected at least 2 arguments, got 0

1 Ответ

1 голос
/ 30 сентября 2010

Для того, чтобы кто-то еще мог столкнуться с этим, ошибка вызвана комбинацией использования django-multilingual и django.db объекта F.Переписывание кода для устранения F-объектов решило проблему.

Основной причиной является ошибка в Python, подробнее см. http://bugs.python.org/issue1515

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