django中查询集只能拼接查询集
vms = vm.objects.filter(user=user, is_del='0')
分析:vms是在vm表中查询出来的查询集,里面存多个集合
for vmin in vms:
port_list = port_list | port_apply.objects.filter(vm=vmin)
分析:对于vms查询集中每个集,针对每个集去查询port_apply表中符合条件的集合列表,并将其拼接
之间这样写会报错,所以在for循环之前添加
port_list=port_apply.objects.none()
保证port_list在循环中是一个可以拼接的查询集。
整体分析:在port_apply表中引用了vm表作为自己的外键