【发布时间】:2017-07-18 18:02:24
【问题描述】:
RecursionError at /cart/ maximum recursion depth exceedede 在我看来,故障出在函数的某个地方
def get_total_price(self):
return sum(Decimal(item['price']) * item['quantity'] for item in self.cart.values())
def clear(self):
# usunięcie koszyka
del self.session[settings.CART_SESSION_ID]
self.session.modified = True
@property
def delivery(self):
if self.delivery_id:
return Delivery.objects.get(id=self.delivery)
return None
def get_delivery(self):
if self.delivery:
return (self.delivery.cost / Decimal('100')) * self.get_total_price()
def get_total_price_delivery(self):
return self.get_total_price() - self.get_delivery()
跟踪
Internal Server Error: /cart/
Traceback (most recent call last):
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/krystian/Project/villain/villain/cart/views.py", line 45, in cart_detail
'delivery_apply_form': delivery_apply_form})
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/shortcuts.py", line 30, in render
content = loader.render_to_string(template_name, context, request, using=using)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/loader.py", line 68, in render_to_string
return template.render(context, request)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/backends/django.py", line 66, in render
return self.template.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 208, in render
return self._render(context)
File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/context.py", line 240, in bind_template
yield
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 208, in render
return self._render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 199, in _render
return self.nodelist.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 994, in render
bit = node.render_annotated(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 961, in render_annotated
return self.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/loader_tags.py", line 174, in render
return compiled_parent._render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 199, in _render
return self.nodelist.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 994, in render
bit = node.render_annotated(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 961, in render_annotated
return self.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/loader_tags.py", line 70, in render
result = block.nodelist.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 994, in render
bit = node.render_annotated(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 961, in render_annotated
return self.render(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 1044, in render
output = self.filter_expression.resolve(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 711, in resolve
obj = self.var.resolve(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 852, in resolve
value = self._resolve_lookup(context)
File "/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/template/base.py", line 915, in _resolve_lookup
current = current()
File "/home/krystian/Project/villain/villain/cart/cart.py", line 93, in get_delivery
if self.delivery:
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line 89, in delivery
return Delivery.objects.get(id=self.delivery)
File "/home/krystian/Project/villain/villain/cart/cart.py", line
89,发货中 return Delivery.objects.get(id=self.delivery) get 中的文件“/home/krystian/.virtualenvs/vpw/lib/python3.5/site-packages/django/db/models/manager.py”,第 193 行 如果 cls._meta.swapped: RecursionError: 超出最大递归深度
【问题讨论】:
-
堆栈跟踪 .... ?????
-
@karthikr 我的错误我忘了添加
标签: django python-3.x django-models django-templates