def add_tags_and_points(chart, data, tags=[]): for key in data: try: tag = Tag.objects.get(short=key) except ObjectDoesNotExist: tag = Tag(short=key) tag.save() value = data[key] if isinstance(value, int): point = Point(value=value) point.chart = chart point.save() point.tags.add(tag) for t in tags: point.tags.add(t) else: add_tags_and_points(chart, value, [tag] + tags)
def add_tags_and_points(chart,data,tags = []): for key in data: try: tag = Tag.objects.get(short=key) except ObjectDoesNotExist: tag = Tag(short=key) tag.save() value = data[key] if isinstance(value, int): point = Point(value=value) point.chart = chart point.save() point.tags.add(tag) for t in tags: point.tags.add(t) else: add_tags_and_points(chart,value,[tag]+tags)