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.

Reply via email to