1
class A:
    name = Char...

class B:
    base = ForeignKey(A)
    value = Integer..

B.objects.values('a__name','value').distinct('a__name')

正如您在上面所理解的,我尝试按相关对象的名称对 B 对象进行分组。但是, distinct 函数不带参数。

我已经尝试过注释和聚合,但我无法分组a__name 我也尝试过values_listflat=True但它只需要一个列名,但我需要a__namevalue字段。

我怎么能在 Django 中做到这一点?谢谢

4

1 回答 1

0

首先,您需要 Django 1.4+。如果您运行的是较小的版本,那么您就不走运了。然后,您必须使用 PostgreSQL。将参数传递给distinct不适用于其他数据库。

请参阅文档distinct并注意“注意”行。

如果您不满足上述条件,我想您也可以随时发出原始查询。

于 2012-07-02T14:45:04.167 回答