Django: Как остановить истечение срока действия сессии django в django?

Я написал логику, в которой референт получает некоторое количество очков, когда человек, которого он направил, покупает пакет. Теперь проблема в том, что когда я направляю кого-то, и он подписывается и также покупает пакет немедленно, я, референт, получаю некоторое очко, но через некоторое время, возможно, через день, если он покупает другой пакет, я не получаю никакого очка снова. В этом случае мне кажется, что сессия прерывается по времени или что-то в этом роде, но я не могу точно сказать, в чем здесь проблема.

это код, который дает мне (или любому пользователю, который направил кого-то) некоторый пункт, когда человек, которого они направили, покупает какой-то пакет

views.py

profile_id = request.session.get('ref_profile')
if profile_id is not None:
    recommended_by_profile = Profile.objects.get(id=profile_id)
    print("Profile Id Is" + str(profile_id))
    recommended_by_profile.indirect_ref_earning += 250
    recommended_by_profile.save()
else:
    print("Profile ID is None and no point where given")
                

Это мое представление registerRef, которое регистрирует пользователя и определяет человека, который его направил

def registerRef(request, *args, **kwargs):
    profile_id = request.session.get('ref_profile')
    print('profile_id', profile_id)

    code = str(kwargs.get('ref_code'))
    try:
        profile = Profile.objects.get(code=code)
        request.session['ref_profile'] = profile.id
        print('Referer Profile:', profile.id)
    except:
        pass
    print("Session Expiry Date:" + str(request.session.get_expiry_age()))

    form = UserRegisterForm(request.POST or None)
    if form.is_valid():
        if profile_id is not None:
            recommended_by_profile = Profile.objects.get(id=profile_id)

            instance = form.save()
            registered_user = User.objects.get(id=instance.id)
            registered_profile = Profile.objects.get(user=registered_user)
            registered_profile.recommended_by = recommended_by_profile.user
            
            registered_profile.save()
            profile = Profile.objects.get(user=registered_user)
            profile.earning_point = 500
            recommended_by_profile.referral_point = recommended_by_profile.referral_point + 500
            profile.save()
            recommended_by_profile.save()
        
        else:
            instance = form.save()
            registered_user = User.objects.get(id=instance.id)
            profile = Profile.objects.get(user=registered_user)
            profile.earning_point = 500
            profile.save()

        username = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password1')
        user = authenticate(username=username, password=password)
        login(request, user)
        messages.success(request, f"Hi {request.user.username}, you just earned ₦500 for creating an account. Congratulations!")

        profile = Profile.objects.get(user=request.user)
        profile.earning_point = 500
        profile.save()

        return redirect('core:index')
    context = {'form':form}
    return render(request, 'userauths/sign-up.html', context)

если есть какой-либо другой код, который необходим, я бы предоставил его.

Вернуться на верх