【发布时间】:2018-11-30 11:27:41
【问题描述】:
如何获取同一模型中另一个类的值?
我也可以使用属性吗?
我想在 Stats 类中使用 Finance.net_income 和 Finance.net_margin。我尝试搜索 anwser 但我找不到它,我也是 django 的新手。
class Stats(models.Model):
stock = models.ForeignKey(Stock, on_delete=models.CASCADE)
shares_outstanding = models.FloatField(default=0)
@property
def earnings_per_share(self):
####### ISSUE IS HERE #####
return Finance.net_income / self.shares_outstanding
class Finance(models.Model):
stock = models.ForeignKey(Stock, on_delete=models.CASCADE)
total_revenue = models.FloatField(default=0)
operating_income = models.FloatField(default=0)
date = models.DateField(null=True, blank=True)
net_income = models.FloatField(default=0)
cash = models.FloatField(default=0)
total_debt = models.FloatField(default=0)
@property
def operating_margin(self):
if self.total_revenue:
now = (self.operating_income / self.total_revenue)*100
else:
now = 0
return now
@property
def net_margin(self):
if self.total_revenue:
now = (self.net_income / self.total_revenue)*100
else:
now = 0
return now
【问题讨论】:
-
这里的
Stats对象与Finance对象有什么关系? -
在
propertyearnings_per_share中,你需要得到模型Finance的实例,一切都很好。 -
两个类在同一个模型中
-
那么我如何在其中获取实例?
标签: python django python-3.x django-models