F Object + Multilingual = instancemethod expected at least 2 arguments, got 0
Hi,
i ran into a problem with Django F objects and multilingual-ng, we have the follow models:
Django: 1.3 pre-alpha and 1.2.1 release multilingual-ng: 0.1.45
models.py:
==================================================================
from django.contrib.auth.models import User from django.db import models import multilingual from django.db.models.aggregates import Sum from django.db.models import F, Q
class AccountType(models.Model): class AccountTypeTranslation(multilingual.translation.TranslationModel): name = models.CharField(max_length=32)
class UserProfileManager(models.Manager): def explode(self): profiles = self.get_query_set()#UserProfile.objects.all() profiles = profiles.annotate(commission_sum=Sum('commission'))
profiles = profiles.filter(commission_sum__gte=F('payout_limit'))
#profiles = profiles.filter(commission__gte=F('payout_limit'))
print profiles.query
print profiles
return profiles
class UserProfile(models.Model): payout_limit = models.PositiveIntegerField(default=20) commission = models.PositiveIntegerField(default=20) account_type = models.ForeignKey(AccountType, default=1) user = models.ForeignKey(User)
objects = UserProfileManager()
==================================================================
call with: UserProfile.objects.explode()
IS: instancemethod expected at least 2 arguments, got 0 SHOULD: return a valid queryset Problem: something goes wrong in deepcopy NOTICE: it will work as soon you delete the field "account_type"
Backtrace:
Traceback: File "/home/georg/repository/django/core/handlers/base.py" in get_response
-
File "/home/georg/Projects/myreprod/views.py" in indexresponse = callback(request, _callback_args, *_callback_kwargs) -
File "/home/georg/Projects/myreprod/models.py" in explodeUserProfile.objects.explode() -
File "/home/georg/repository/django/db/models/query.py" in reprprint profiles -
File "/home/georg/repository/django/db/models/query.py" in getitemdata = list(self[:REPR_OUTPUT_SIZE + 1]) -
File "/home/georg/repository/django/db/models/query.py" in _cloneqs = self._clone() -
File "/home/georg/repository/django/db/models/sql/query.py" in clonequery = self.query.clone() -
File "/usr/lib/python2.6/copy.py" in deepcopyobj.having = deepcopy(self.having, memo=memo) -
File "/home/georg/repository/django/utils/tree.py" in deepcopyy = copier(memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyobj.children = deepcopy(self.children, memodict) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_listy = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy.append(deepcopy(a, memo)) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_tupley = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy.append(deepcopy(a, memo)) -
File "/usr/lib/python2.6/copy.py" in _reconstructy = _reconstruct(x, rv, 1, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopystate = deepcopy(state, memo) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_dicty = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy[deepcopy(key, memo)] = deepcopy(value, memo) -
File "/usr/lib/python2.6/copy.py" in _reconstructy = _reconstruct(x, rv, 1, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopystate = deepcopy(state, memo) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_dicty = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy[deepcopy(key, memo)] = deepcopy(value, memo) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_dicty = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy[deepcopy(key, memo)] = deepcopy(value, memo) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_tupley = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy.append(deepcopy(a, memo)) -
File "/usr/lib/python2.6/copy.py" in _reconstructy = _reconstruct(x, rv, 1, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopystate = deepcopy(state, memo) -
File "/usr/lib/python2.6/copy.py" in _deepcopy_dicty = copier(x, memo) -
File "/usr/lib/python2.6/copy.py" in deepcopyy[deepcopy(key, memo)] = deepcopy(value, memo) -
File "/usr/lib/python2.6/copy.py" in _reconstructy = _reconstruct(x, rv, 1, memo) -
File "/usr/lib/python2.6/copy_reg.py" in newobjy = callable(*args) -
return cls.**new**(cls, *args)
Exception Type: TypeError at / Exception Value: instancemethod expected at least 2 arguments, got 0