Django,如何使用2层外键过滤数据

时间:2018-12-22 08:57:12

标签: python django python-3.x

我对如何获得正确的结果感到困惑...

这是模特

class StockInForm(models.Model):
    color = models.ForeignKey(Color, ...)

class Color(models.Model):
    color = models.CharField(...)
    supplier = models.ForeignKey(Supplier, ...)

class Supplier(models.Model):
    supplier = models.CharField(...)

给了我一个供应商关键字,我想要得到的是与关键字匹配的表格。我已经尝试了很多次,但是不知道该怎么做。我可以给我一些提示吗?谢谢。


如果给我一个颜色关键字,我可以使用

StockInForm.objects.filter(**{"color__color" : keyword})

使用color关键字获取所有表格。但是当我这样使用时它不起作用

StockInForm.objects.filter(**{"color__color__supplier " : keyword})

1 个答案:

答案 0 :(得分:0)

我认为您需要做

StockInForm.objects.filter(color__supplier__supplier=keyword)

或者如果您想使用字典:

StockInForm.objects.filter(**{"color__supplier__supplier " : keyword})

color__supplier__supplier-您检查StockInForm color 字段。它与Color有关。在Color中,检查供应商字段。与Supplier模型有关,最后一个是检查供应商字段。