from django.db import models def get_child_queryset(checkQueryset,fatherQueryset,noneQueryset,hasParent=True): """ 获取所有子集 查checkQueryset 父fatherQueryset 空noneQueryset 是否包含父默认False """ if fatherQueryset is None: return noneQueryset if hasParent: noneQueryset = noneQueryset|fatherQueryset child_queryset = checkQueryset.filter(pid=fatherQueryset.first()) while child_queryset: noneQueryset = noneQueryset|child_queryset child_queryset = checkQueryset.filter(pid__in=child_queryset) return noneQueryset.distinct()