Django Filter获取外键模型列表



我有两个模型Route和Project以及一个关系模型:

class ProjectRoute(models.Model):
#Fk
project                     = models.ForeignKey(Project, null = False, on_delete = CASCADE)
route                       = models.ForeignKey(Route, null = False, on_delete = CASCADE)

有了项目ID,我想检索一个路线列表。

relations = ProjectRoute.objects.filter(project__id = project_id)

有了这个过滤器,我就有了ProjectRoute的列表。我想要的是唯一路由的查询集。像这样的东西(不起作用(:

routes = ProjectRoute.objects.filter(project__id = project_id).value_list(route)

有可能吗?

编辑:

这就是现在的代码。我想删除FOR:

routes_relations           = ProjectRoute.objects.filter(project__id = project_id)
routes = []
for rr in routes_relations:
routes.append(rr.route)
return routes

要检索与project_idid关联的所有Route,请使用以下查询

Route.objects.filter(projectroute__project_id=project_id).distinct()

最新更新