我有一个表列,其中某些值是双重或三重写入的。我想要一个独特的查询。
我试过了
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}`
您知道我如何获得人的价值吗?
它不是问题,distinct而是values()。values()为您提供您要求的值的格。要从dict获得属性,可以使用dict['attr_name']。
distinct
values()
dict['attr_name']
因此,您可以尝试以下操作:
staff = Staff.objects.all().values('person').distinct() for k in staff: j = k['person'] print j,k