将 table 数据移动并复制到另一个 table 数据
move and copy table data to another table data
我们有3个tables(models)A,B和c.Table'A'有数据,如果我们删除[=17=的具体table数据] 然后删除的数据我想自动保存在 table 'B' 和
如果我们在 table 'C' 中添加数据,我们希望数据也自动添加到 table 'A' 中。
from django.db import models
class Stock(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='AVAILABLE')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3} '.format(self.product_name, self.quantity, self.price, self.status)
class Sale(models.Model):
product_name = models.CharField(max_length=100, blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='SOLD')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3}'.format(self.product_name, self.quantity, self.price, self.status)
class Purchase(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10,default='Purchased')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3}'.format(self.product_name,self.quantity, self.price, self.status)
请帮帮我。
谢谢
您可以重写 Stock
的 delete
方法并重写 Purchase
的 save
方法,如下所示:
class Stock(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='AVAILABLE')
def delete(self):
Sale.objects.create(product_name=self.product_name, quantity=self.quantity, price=self.price, status=self.status)
super().delete()
class Purchase(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10,default='Purchased')
def save(self):
if not self.pk:
Stock.objects.create(product_name=self.product_name, quantity=self.quantity, price=self.price, status=self.status)
super().save()
我们有3个tables(models)A,B和c.Table'A'有数据,如果我们删除[=17=的具体table数据] 然后删除的数据我想自动保存在 table 'B' 和 如果我们在 table 'C' 中添加数据,我们希望数据也自动添加到 table 'A' 中。
from django.db import models
class Stock(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='AVAILABLE')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3} '.format(self.product_name, self.quantity, self.price, self.status)
class Sale(models.Model):
product_name = models.CharField(max_length=100, blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='SOLD')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3}'.format(self.product_name, self.quantity, self.price, self.status)
class Purchase(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10,default='Purchased')
def __str__(self):
return 'Product name:{0} Quantity:{1} Price:{2} Status:{3}'.format(self.product_name,self.quantity, self.price, self.status)
请帮帮我。 谢谢
您可以重写 Stock
的 delete
方法并重写 Purchase
的 save
方法,如下所示:
class Stock(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10, default='AVAILABLE')
def delete(self):
Sale.objects.create(product_name=self.product_name, quantity=self.quantity, price=self.price, status=self.status)
super().delete()
class Purchase(models.Model):
product_name = models.CharField(max_length=100,blank=False)
quantity = models.IntegerField()
price = models.FloatField()
status = models.CharField(max_length=10,default='Purchased')
def save(self):
if not self.pk:
Stock.objects.create(product_name=self.product_name, quantity=self.quantity, price=self.price, status=self.status)
super().save()