tun*_*nak 7 python django distinct django-queryset django-views
我有一个表列,其中一些值是双写或三写的.我想要一个独特的查询.
我试过了
staff = Staff.objects.all().values('person').distinct()
for k in staff:
j = k.person
print j,k
Run Code Online (Sandbox Code Playgroud)
对于k.person,我得到"dict对象没有属性为人"
我得到k给我一个结果
{'person': 778L}
{'person': 779L}
{'person': 780L}
{'person': 781L}
{'person': 782L}`
Run Code Online (Sandbox Code Playgroud)
你知道我怎样才能获得这个人的价值?
Roh*_*han 12
它没有问题,distinct但有values().values()给你你要求的价值的字典.要从dict获取属性,您可以使用dict['attr_name'].
所以你可以尝试这个:
staff = Staff.objects.all().values('person').distinct()
for k in staff:
j = k['person']
print j,k
Run Code Online (Sandbox Code Playgroud)
@Rohan是对的。dict['attr_name']会给你你想要的。
staff = Staff.objects.all().values('person').distinct()
print staff.query
#it returns:
#SELECT DISTINCT "staff"."person" FROM "staff"
Run Code Online (Sandbox Code Playgroud)
除此之外,如果您使用此补丁,您可以通过以下结构实现:
staff = Staff.objects.all().distinct('person')
for pr in staff:
print pr['person']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8684 次 |
| 最近记录: |