err*_*ata 2 python django django-queryset
我在 Django 中有两个 QuerySet:
a = [<Character: Character object>, <Character: Character object>, <Character: Character object>]
b = [<Entity: Entity object>, <Entity: Entity object>, <Entity: Entity object>, <Entity: Entity object>, <Entity: Entity object>, <Entity: Entity object>]
Run Code Online (Sandbox Code Playgroud)
我想避免多个for循环来检查是否与对象Character.someattr相同Entity.someattr并返回一个包含Character对象的列表,那么最简单的方法是什么?
我认为最简单的方法是过滤查询集。这种方式可能包含额外的查询,但它必须快得多,尤其是大数据。
attrs_list = Entity.objects.filter(**filters).distinct().values_list('someattr', flat=True)
a = Character.objects.filter(someotherattr__in=attrs_list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3074 次 |
| 最近记录: |