小编典典

Django查询不同的值有效,但我不能使用查询结果

python

我有一个表列,其中某些值是双重或三重写入的。我想要一个独特的查询。

我试过了

staff = Staff.objects.all().values('person').distinct()
for k in staff:
     j = k.person
     print j,k

我得到k.person的“ dict对象没有作为人的属性”

我得到k给我这样的结果

{'person': 778L}
{'person': 779L}
{'person': 780L}
{'person': 781L}
{'person': 782L}`

您知道我如何获得人的价值吗?


阅读 129

收藏
2020-12-20

共1个答案

小编典典

它不是问题,distinct而是values()values()为您提供您要求的值的格。要从dict获得属性,可以使用dict['attr_name']

因此,您可以尝试以下操作:

staff = Staff.objects.all().values('person').distinct()
for k in staff:
    j = k['person']
    print j,k
2020-12-20