Django – 过滤外键属性
我试图根据外键的特定字段的值过滤Django中的表。
例如,我有两个模型 – 项目和资产,项目有一个name
字段,每个资产都有一个ForeignKey(Project)
字段。 我想根据相关项目的名称过滤我的资产列表。
目前我正在执行两个查询:
project_list = Project.objects.filter(name__contains="Foo") asset_list = Asset.objects.filter( desc__contains=filter, project__in=project_list).order_by('desc')
我想知道是否有一种方法来指定在主查询中的这种过滤?
Asset.objects.filter( project__name__contains="Foo" )
这是因为queryset-refactor
分支在1.0之前版本。 门票4088暴露了这个问题。 这应该工作:
Asset.objects.filter( desc__contains=filter, project__name__contains="Foo").order_by("desc")
Django多对一文档包含使用Model API的以下外键的其他示例。