django如何远程查询多对多字段?

发布时间 2023-12-08 19:39:45作者: Z哎呀

解决办法

假设A表有一个多对多properties字段,通过A表远程查询properties的名称

qs = A.objects.filter(properties__name=xxx)
  • 更复杂的:
    A表有一个外键字段version连接B表,B表有一个多对多字段properties,通过A表远程查询properties的名称
qs = A.objects.filter(version__properties__name=xxx)

总结:通过以上规律可以发现,不论是一对多还是多对多,都可以通过双下划线语法__连接过去,从而实现远程查询。

题外话(不理解可忽略):在使用点.语法时,需要.all()查出多对多表的queryset,然后再遍历就可以取值。