如何使用外键?正确吗?

2024-04-19 07:56:21 发布

您现在位置:Python中文网/ 问答频道 /正文

类CustomerDetail(models.Model):

name = models.CharField(max_length=100,default='')
phone_no = models.CharField(max_length=10,unique=True,default='')
dob = models.DateField(default='')
def __str__(self):
return self.name

类orderview(models.Model):

reference = models.CharField(max_length=100,default='')
customer = models.CharField(max_length=100,default='')
overalltotal = models.ForeignKey(CustomerDetail, on_delete=models.SET_NULL,null=True,blank=True)
def __str__(self):
return self.reference

类orderdetails(models.Model):

product = models.CharField(max_length=100,default='')
quantity = models.IntegerField()
unit_price = models.IntegerField()
total= models.CharField(max_length=30)
orderid =  models.ForeignKey(orderview,on_delete=models.SET_NULL)

def get_total(self):
result = self.quantity * self.unit_price
return result

def save(self, *args, **kwargs):
self.total = self.get_total()
super(orderdetails, self).save(*args, **kwargs)