2014-02-13 59 views
0

我想做到以下几点Django的使用related_name在self.object

class Product(models.Model): 
    name = models.CharField(max_length=120) 

    def has_stock(self): 
    """ 
    Returns True if stock is available or False if not. 
    """ 
    if self.stocks: 
      return True 
    else: 
     return False 



class Stock(models.Model): 
    code = models.CharField(max_length=120) 
    product = models.ForeignKey(Product, related_name="stocks") 

当我得到一个产品,我想看看我的股票。我希望我可以使用相关名称来做到这一点,但这似乎并不奏效,为什么?

回答

3

stocks是一个查询集。您需要实际调用其中的一些queryset方法以查询相关数据。

在这种情况下,self.stocks.exists()可能是适当的。 (另外,对于未来,请注意,“似乎不起作用”并不是一个有用的说法,你应该准确地解释发生了什么,以及与预期发生的不同之处以及具体情况有何不同的任何错误。)

+0

完美,谢谢。 – Prometheus

相关问题