如何跨越django中的查找关系?

时间:2010-09-30 14:20:49

标签: django

我在下面的查找中在哪里搞笑?

我的模特:

Class Item(models.Model):
    item_code = models.CharField(max_length=10)
    name      = models.CharField(max_length=255)
    ....

Class Stock(models.Model):
    item_code = models.ForeignKey( Item )
    qty       = models.IntegerField()
    ...

现在我想用Item.item_code

获取所有Stock对象
stock_items = Stock.objects.filter(item__item_code__contains='101')

我收到错误:

FieldError: Cannot resolve keyword 'item' into field. Choices are: id, item_code, qty, restock_level, userid 

我缺少什么?

加特

1 个答案:

答案 0 :(得分:4)

您必须使用以下内容:

stock_items = Stock.objects.filter(item_code__item_code__contains='101')

第一个字段名称是Stock模型中的字段,在本例中为item_code,而不是item。

为了以你的方式使用。您必须将Stock模型更改为以下内容:

Class Stock(models.Model):
    item = models.ForeignKey(Item)
    qty = models.IntegerField()

然后这会起作用:

stock_items = Stock.objects.filter(item__item_code__contains='101')