def treeinit( request ): myopen = request.GET.get('open') mylayers = request.GET.get('layers') if myopen and not mylayers: qs = models.layertreenode.objects.all().filter( parent_id__in = myopen.split(",") ).distinct('id') elif mylayers and not myopen: qs = models.layertreenode.objects.all().filter( id__in = mylayers.split(",") ).distinct('id') elif mylayers and myopen: qs = (models.layertreenode.objects.all().filter( parent_id__in = myopen.split(",") ) | models.layertreenode.objects.all().filter( id__in = mylayers.split(",") ).distinct('id') ) else: qs = models.layertreenode.objects.all().filter( id = 1 ) print gc.get_referrers( models.layertreenode.objects) print 'qs' print qs layers = models.layertreenode.objects.all().get_queryset_ancestors(qs, include_self=True).distinct('id') print 'layers' print layers newlayers = subtc( qs ) serializer = layertreenodeSerializer( newlayers ) return JSONResponse(serializer.data)
def treejson( request, id ): layers = models.layertreenode.objects.all() newlayers = subtc( layers ) serializer = layertreenodeSerializer( newlayers ) return JSONResponse(serializer.data)
def treebranch( request ): myid = request.GET.get('id') layers = models.layertreenode.objects.all().filter( parent = myid ) newlayers = subtc( layers ) serializer = layertreenodeSerializer( newlayers ) return JSONResponse(serializer.data)
def query(request, myid = None): ##### get method ##### if request.method == 'GET': if myid is None: myid = request.GET.get('id', None) myparent = request.GET.get('parent', None) if myid is not None: try: layers = models.layertreenode.objects.all().filter( id = myid) except models.layertreenode.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) newlayers = subtc( layers ) serializer = layertreenodeSerializer(newlayers[0]) return JSONResponse(serializer.data) elif myparent is not None: try: layers = models.layertreenode.objects.all().filter( parent = myparent) except models.layertreenode.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) newlayers = subtc( layers ) serializer = layertreenodeSerializer(newlayers) return JSONResponse(serializer.data) else: serializer = layertreenodeSerializer([]) return JSONResponse(serializer.data)