lundi 21 juin 2021

How To Use Query Inside Django Model?

I Have 2 Different Django Model User_detials and Monthly_payment and now I want to make the Status= Active, Expire, Soon Expire, or Deactivated, in User details i am trying this but not work ho to make using 2 different model different fields using username and received date is any solution ?? here is my model

class Client_Detials(models.Model, object):
    First_name = models.CharField(max_length=100)
    Last_name = models.CharField(max_length=100)
    Address = models.CharField(max_length=100)
    Contact_1 = models.CharField(max_length=100)
    Contact_2 = models.CharField(max_length=100)
    Email = models.EmailField()
    Username = models.CharField(max_length=20)
    Password = models.CharField(max_length=20)
    cont_type = (
        ('Fiber', 'Fiber'),
        ('wireless', 'wireless'),
    )
    Connection_Type = models.CharField(choices=cont_type, max_length=12, default='Fiber')
    Internet_Plan = models.ForeignKey(Nas_Package, on_delete=models.CASCADE)
    Payment_Cycle = models.CharField(max_length=100, blank=True)
    User_Img = models.ImageField(upload_to='Client', default='user.jpg', blank=True)
    Created_by = models.OneToOneField(User, on_delete=models.CASCADE)
    Created_Date = models.DateTimeField(auto_now=True)
        def status(self):
        recharge = recharge_monthly.username
        if recharge == self.Username:
            date_to_re = recharge_monthly.received_date
            myd = datetime.datetime.now().date() - date_to_re
            print(myd)
            if myd.days < 20:
                return "Active"
            elif myd.days < 25:
                return "Expire Soon"
            elif myd.days <= 30:
                return "Expire"
            else:
                return "Expire From {} day".format(30 - myd.days)



class recharge_monthly(models.Model):
    username = models.ForeignKey(Client_Detials, on_delete=models.CASCADE)
    Total_amount = models.FloatField()
    Received_amount = models.FloatField(default=0.0)
    received_date = models.DateField(auto_now_add=True)
    is_vat_add = models.BooleanField()
    is_tsc_add = models.BooleanField()
    tsc_amount = models.FloatField()
    vat_amount = models.FloatField()



Aucun commentaire:

Enregistrer un commentaire