Cof*_*ack 7 python django orm list
我观察到这种行为,我不太明白.假设我提出一个问题:
result = model.objects.all()
result_pks = result.values_list("id",flat=True)
print result_pks
Run Code Online (Sandbox Code Playgroud)
我得到:
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
然后我想检查返回的pks列表中是否有某个值:
val = 2
print val in result_pks
Run Code Online (Sandbox Code Playgroud)
这将返回True,但如果相反,我将结果更改为:
result = model.objects.prefetch_related("related_field").all()
result_pks = result.values_list("id",flat=True)
print result_pks
Run Code Online (Sandbox Code Playgroud)
我还是得到:
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
但当我这样做时:
val=2
print val in result_pks
Run Code Online (Sandbox Code Playgroud)
我弄错了.我尝试使用select_related,并按预期返回True.有人可以向我解释为什么会有区别吗?
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |