我有一个模型用于其他模型相关 . (这个例子只是为了说明模型)
class A(Models.model):
locations = models.manytomanyfield(Location)
class B(Models.model):
location = models.foreignkeyfield(Location)
class Location(Models.model):
foo = models.charfield(...)
现在我想删除所有与A和B无关的位置实例 . 对于B类中的foreignkeyfield很容易使用filter(),但是对于A类中的manytomany字段,我想知道是否有办法直接查询连接图 .
如果我是对的,加入 Map 应该是 A.locations.through ,如何使用Django ORM查询该表中的位置?也许还有更好的方法吗?
1 回答
我们从模型A和B中获取实际位置,然后从ids中进行设置,然后删除未使用的位置模型中的所有位置 .