【发布时间】:2016-04-06 05:46:21
【问题描述】:
我正在处理一个在 models.py 中有投资和发票类的项目。他们的工作方式是用户进行投资,并在保存投资模型时创建发票。以下是相关代码:
class Investment(models.Model):
...
def save(self, *args, **kwargs):
current_investment = Investment.objects.get(pk=self.pk)
create_invoice = Invoice.objects.create(investment=current_investment,
fee_type='Mngmt.',
amount=self.amount*fee_amount)
class Invoice(models.Model):
user = models.ForeignKey(User)
investment = models.ForeignKey(Investment)
fee_type = models.CharField(max_length=24)
amount = models.DecimalField(max_digits=12, decimal_places=2, default=0)
date = models.DateTimeField(default=timezone.now, blank=True)
def __str__(self):
return self.investment.fund.name
所以基本上在保存投资类时会创建一个发票对象,但是我想获取当前用户并将其设置为发票类中的用户字段。关于如何完成这项工作的任何想法?谢谢。
【问题讨论】:
-
您应该在视图中执行此操作,即。 stackoverflow.com/questions/4865084/…
-
感谢您的链接,但我希望在我的模型文件中实现这一点。因为我希望在投资结束时刷新数据库以便更新它,所以创建另一个 Invoice 对象
标签: python django django-models