2014-02-13 3 views
0

Я хотел бы сделать следующееДжанго с помощью 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 - это запрос. Вам нужно на самом деле вызвать некоторые из методов запроса на нем, чтобы запросить связанные данные.

В этом случае, вероятно, будет self.stocks.exists().

(Кроме того, в будущем обратите внимание, что «кажется, не работает» не является полезной вещью. Вы должны точно объяснить, что происходит, и как это отличается от того, что вы ожидаете, а также специфики любых ошибок.)

+0

безупречный, спасибо. – Prometheus

Смежные вопросы