Django 从方法创建模型的实例
我刚来Django,有点问题。 我在商品模型中有一个方法:Django 从方法创建模型的实例,django,django-models,Django,Django Models,我刚来Django,有点问题。 我在商品模型中有一个方法: @transaction.atomic def payment(self): if self.owner.balance > self.price and self.active is False: self.act_time_till = now() + timedelta(days=1) self.owner.balance -= self.price # here i
@transaction.atomic
def payment(self):
if self.owner.balance > self.price and self.active is False:
self.act_time_till = now() + timedelta(days=1)
self.owner.balance -= self.price
# here i need to create a new Invoice object
self.save()
return True
else:
return False
我有一个不同的型号-发票:
class Invoice(models.Model):
commodity = models.ForeignKey(Commodity, on_delete=models.PROTECT)
paid_till = models.DateTimeField(blank=False, null=False)
value = models.DecimalField(max_digits=3, decimal_places=2, blank=False, null=False)
如何在每次付款时创建发票实例?
谢谢 您可以在这个方法内部调用
@transaction.atomic
def payment(self):
if self.owner.balance > self.price and self.active is False:
self.act_time_till = now() + timedelta(days=1)
self.owner.balance -= self.price
# here i need to create a new Invoice object
self.save()
## After this line you can create invoice object instance
Invoice.objects.create(commodity=self, paid_till=self.act_paid_till, value=self.price)
return True
else:
return False
您可以在这个方法内部调用
@transaction.atomic
def payment(self):
if self.owner.balance > self.price and self.active is False:
self.act_time_till = now() + timedelta(days=1)
self.owner.balance -= self.price
# here i need to create a new Invoice object
self.save()
## After this line you can create invoice object instance
Invoice.objects.create(commodity=self, paid_till=self.act_paid_till, value=self.price)
return True
else:
return False
您可以通过调用
Invoice.objects.create(**data)
创建一个实例,也可以在任何需要的地方使用它。您可以通过调用Invoice.objects.create(**data)
创建一个实例,也可以在任何需要的地方使用它谢谢!已将此标记为错误。我在字段类型方面遇到了问题,但我认为我做错了。谢谢!已将此标记为错误。我在字段类型方面遇到了问题,但我认为我做错了。