Реализация реферальной программы на сайте Django - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над сайтом кэшбэка. Прямо сейчас код просто добавляет текущий баланс указанного пользователя ($ 0) к балансу реферера, как я могу связать двух пользователей так, чтобы часть будущих доходов указанного пользователя была добавлена ​​к балансу реферера

def referral_registerPage (request, slug):

form = CreateUserForm

if request.method == 'POST':

    customers = Customer.objects.all()

    form = CreateUserForm(request.POST)
    if form.is_valid():
        user = form.save()
        username = form.cleaned_data.get('username')
        messages.success(request,'Account was created for ' + username)

        '''Get slug that was used to register account.'''
        user_slug = slug

        '''get user id by splitting user_slug, b = user id'''
        a,b = user_slug.split('-')

        '''customer that owns the referral link'''
        customer = customers.get(user=b)

        '''customer that registered through the referral link'''
        referred = customers.get(user=user)

        payment = customer.payment #payment details of the customer
        payment.current_balance +=  referred.payment.current_balance
        payment.save()

модель, которую я пытаюсь обновить

класс Payment (models.Model):

customer = models.OneToOneField(Customer, on_delete=models.CASCADE, 
null=True, default=None)

total_amount_paid = models.DecimalField(max_digits=20,decimal_places=2, 
null=True, default=0)

current_balance = models.DecimalField(max_digits=20,decimal_places=2, 
null=True, default=0)

confirmed_orders = models.CharField(max_length=100, null=True, default=0)
...