Django在self.object中使用related_name

时间:2014-02-13 11:49:05

标签: python django django-models

我想做以下

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")

当我拿到产品时,我想知道我是否有库存。我希望我可以使用相关的名字来做这个,但这似乎不起作用,为什么?

1 个答案:

答案 0 :(得分:3)

stocks是一个查询集。您需要在其上实际调用一些queryset方法才能查询相关数据。

在这种情况下,self.stocks.exists()可能是合适的。

(另外,对于未来,请注意“似乎不起作用”并不是一个有用的说法。你应该准确解释发生了什么,以及它与你期望发生的不同,以及具体的任何错误。)