Thanks Derek! I tried using the signals but it is not working. This is how my signals and models looks:
Signals.py: from django.contrib.auth.models import User from .models import * from django.db.models.signals import post_save from django.dispatch import receiver from django.contrib.auth.models import Group @receiver(post_save, sender=User) def subscription_group(sender, instance, created, **kwargs): if OrderItem.product == 'Subscription_Product': Order.complete == True group = Group.objects.get(name='subscribees') User.groups.add(group) print('New Subscribee Added') Models.py: from django.db import models from django.contrib.auth.models import User # Create your models here. class Customer(models.Model): user = models.OneToOneField(User, null=True, blank=True, on_delete =models.CASCADE ) name = models.CharField(max_length=200, null=True) email = models.CharField(max_length=200, null=True) phone = models.CharField(max_length=200, null=True) profile_pic = models.ImageField(default="chicken_suit.gif" ,null=True, blank=True) data_created = models.DateTimeField(auto_now_add=True, null=True) @property def picURL(self): try: url = self.profile_pic.url except: url= '' return url def __str__(self): return self.name class Product(models.Model): name = models.CharField(max_length=200) price = models.FloatField() digital = models.BooleanField(default=False, null=True, blank=True) image = models.ImageField(null=True, blank=True) view = models.URLField(default=False, null=True, blank=True) def __str__(self): return self.name @property def imageURL(self): try: url = self.image.url except: url= '' return url class Order(models.Model): customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, null= True, blank=True) date_ordered = models.DateTimeField(auto_now_add=True) complete = models.BooleanField(default=False) transaction_id = models.CharField(max_length=100, null=True) def __str__(self): return str(self.id) @property def get_cart_total(self): orderitems = self.orderitem_set.all() total = sum([item.get_total for item in orderitems]) return total @property def get_cart_items(self): orderitems = self.orderitem_set.all() total = sum([item.quantity for item in orderitems]) return total @property def shipping(self): shipping= False orderitems = self.orderitem_set.all() for i in orderitems: if i.product.digital == False: shipping = True return shipping class OrderItem(models.Model): product = models.ForeignKey(Product, on_delete=models.SET_NULL, null= True) order = models.ForeignKey(Order, on_delete=models.SET_NULL, null=True) quantity = models.IntegerField(default=0, null=True, blank=True) date_added = models.DateTimeField(auto_now_add=True) VALUE_ADDED_TAX = 6.0 tax= VALUE_ADDED_TAX/100 @property def get_total(self): total = self.product.price * self.quantity + (self.tax * self .product.price) return total When an individual purchases, the signal is not received and that individual is not added to the "subscribees" group. Any further suggestions? -- 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/CAO1EWpGqeVVWdrZ4TCAA5cnRT2_E%2BOiLZr2bvR7Ni_CUsEZC8g%40mail.gmail.com.