【发布时间】:2021-06-11 17:19:32
【问题描述】:
以下情况
ModelA(django.db.models.Model):
abc = ForeignKey('modelB', related_name="from abc")
def = ForeignKey('modelB', related_name="from def")
modelB(django.db.models.Model):
有没有办法通过ModelA.objects.values('some_magic_link_to_Model_B').annotate() 而不是ModelA.objects.values('abc', 'def').annotate() 实现GROUP_BY(结果是手动构造结果列表,因为它会导致两个键的分组结果)还是我必须考虑添加一个中间 M2M 过渡?
【问题讨论】:
-
按照你的建议,你应该使用 m2m。
-
是的,这显然会更好,但我的问题是,如果没有蔓延的副作用(例如性能问题),我可能不知道是否有可能的解决方法,我现在找到了一个适合我的方法,请看下面我的回答
标签: django postgresql aggregation