# views.py from django.shortcuts import render, redirect from .models import Person, BinaryTree
def create_person(request): if request.method == 'POST': name = request.POST.get('name') account = float(request.POST.get('account')) referral_id = request.POST.get('referral') referral = None if referral_id: referral = Person.objects.get(id=referral_id) person = Person.objects.create(name=name, account=account, referral=referral) # Update binary tree structure if referral: binary_tree = BinaryTree.objects.get(parent=referral) if not binary_tree.left_child: binary_tree.left_child = person elif not binary_tree.right_child: binary_tree.right_child = person binary_tree.save() # Calculate and update referral bonus referral_bonus = account * 0.1 referral.account += referral_bonus referral.save() return redirect('person_detail', person_id=person.id) else: persons = Person.objects.all() return render(request, 'create_person.html', {'persons': persons}) # models.py from django.db import models class Person(models.Model): name = models.CharField(max_length=100) account = models.DecimalField(max_digits=10, decimal_places=2) referral = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True) class BinaryTree(models.Model): parent = models.ForeignKey(Person, on_delete=models.CASCADE, related_name='binary_tree_parent') left_child = models.ForeignKey(Person, on_delete=models.CASCADE, related_name='binary_tree_left_child', null=True, blank=True) right_child = models.ForeignKey(Person, on_delete=models.CASCADE, related_name='binary_tree_right_child', null=True, blank=True) Create_person.html <!DOCTYPE html> <html> <head> <title>Create Person</title> </head> <body> <h1>Create Person</h1> <form method="post"> {% csrf_token %} <label for="name">Name:</label> <input type="text" name="name" required><br><br> <label for="account">Account Balance:</label> <input type="number" name="account" step="0.01" required><br><br> <label for="referral">Referral:</label> <select name="referral"> <option value="">None</option> {% for person in persons %} <option value="{{ person.id }}">{{ person.name }}</option> {% endfor %} </select><br><br> <input type="submit" value="Create"> </form> </body> </html> Or follow me @ GitHub.com/developer-felix I post more codes on federals On Thu, Jun 15, 2023, 11:16 AM John Ayodele <ayodelejoh...@gmail.com> wrote: > Hi Everyone! > So I want to know how to implement a binary tree to a web app. > This is how the app works: > > — Person A opens an account > — Person A refers to people > — Person B invests, > — Person A get 10% of Person B's investment > So it goes on iteratively. > > Please, how can I implement this in Django? > > I've never done something like this before, so it's new to me. > > Help me accomplish this task by assisting me in any way you can. :) > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAP7pJ3j3942AExQzHwvpxO1c0Zgspw4NCvHqaw6CcgzEfQeRLw%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAP7pJ3j3942AExQzHwvpxO1c0Zgspw4NCvHqaw6CcgzEfQeRLw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJU16zfRc5SGoDH7v54g%2B0Prm%2BNLmP0hFmpYHmJp3vMiej%3DPTg%40mail.gmail.com.