我有两个模型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_id
id关联的所有Route
,请使用以下查询
Route.objects.filter(projectroute__project_id=project_id).distinct()