开始Django:通过外键访问元素

时间:2018-04-14 21:25:32

标签: python django

我最近开始使用django并且已经停留了一段时间了。 我创建了三个模型:

class Depot(models.Model):
    depot_name = models.CharField(max_length = 200)
    def __str__(self):
        return self.depot_name

class Stock(models.Model):
    stock_key = models.CharField(max_length = 200)
    company_name = models.CharField(max_length = 200)
    price = models.FloatField()
    def __str__(self):
        return self.company_name
    def get_price(self):
        return self.price

class Asset(models.Model):
    depot = models.ForeignKey(Depot, on_delete= models.CASCADE)
    stock = models.ForeignKey(Stock, on_delete= models.CASCADE, related_name="testName")
    number_of_stocks = models.IntegerField(default=0)
    def value(self):
        p = self.testName.price
        return p*self.number_of_stocks
    def __str__(self):
        return str(self.stock)+" "+str(self.number_of_stocks)+" "+str(self.value())

基本上,为了计算资产的价值,我需要其股票的价格。我还没有找到任何如何通过ForeignKey访问类库存数据的方法。也许这是微不足道的。我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

应该是微不足道的......

$date = Carbon::now();
echo $date->toW3cString();

$date = $this->repository->find($id);
echo $date->created_at->toW3cString();

外键上的def value(self): p = self.stock.price return p*self.number_of_stocks 用于访问关系的另一端,即

related_name

如果你没有定义class Stock(...): ... def some_method(self): assets = self.testName.all() 上面的最后一行需要

related_name="testName"