more than two couponuser count
Closed this issue · 2 comments
dedepene commented
hi there!
Can't quite put my finger on it and why it's happening, but if a user has used two different coupons (showing twice as a coupon user in admin), any attempt for the same user to use a coupon ever again causes this error. At first glance it has to do with the .get() call in your validations.py. Not quite sure though why in the end it raises MultipleObjecstReturned:
Variable | Value
-- | --
args | ()
clone | <QuerySet [<CouponUser: testuser10>, <CouponUser: testuser10>]>
kwargs | {'user': <SimpleLazyObject: <User: testuser10>>}
limit | 21
num | 2
self | <QuerySet [<CouponUser: testuser11>, <CouponUser: testuser11>, <CouponUser: testuser10>, <CouponUser: rado>, <CouponUser: rado>, <CouponUser: piratko>, <CouponUser: piratko>, <CouponUser: testuser10>]>
Traceback (most recent call last):
File "D:\Code\price_tracker_django\.venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
response = get_response(request)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\django\contrib\auth\decorators.py", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "D:\Code\price_tracker_django\tracker\views.py", line 1157, in profile
status = validate_coupon(coupon_code=activation_code,user=user)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\coupon_management\validations.py", line 68, in validate_coupon
valid_max_uses_rule = validate_max_uses_rule(coupon_object=coupon_object, user=user)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\coupon_management\validations.py", line 33, in validate_max_uses_rule
coupon_user = CouponUser.objects.get(user=user)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "D:\Code\price_tracker_django\.venv\lib\site-packages\django\db\models\query.py", line 499, in get
raise self.model.MultipleObjectsReturned(
Exception Type: MultipleObjectsReturned at /testuser10/profile/
Exception Value: get() returned more than one CouponUser -- it returned 2!
krishnaansh commented
Hi @dedepene sure we will look into it and try to resolve this asap
We keep posted
krishnaansh commented
Hi @dedepene issue resolved kindly update to latest version via
pip install -U django-coupon-management