【发布时间】:2016-06-28 17:36:21
【问题描述】:
我有 2 个模型:
class ModelA:
fieldA = models.ManyToManyField(ModelB, through="CustomThroughTable")
def foobar(self):
return self.fieldA.through.objects.filter(fieldA=self)
class ModelB:
whatever = models.CharField()
我想在ModelA 中实现一个函数,该函数将打印出直通表中fieldA 的所有值。函数foobar 的当前实现可以满足我现在的需要,但我认为它的效率相当低。有一个更好的方法吗?谢谢。
【问题讨论】:
-
是什么让你觉得它效率低?
-
我用
debug_toolbar统计了SQL查询的数量,远远超过了现有记录的数量,这让我认为这个函数是罪魁祸首。
标签: python sql django orm many-to-many