#!/usr/bin/python import os import pdb import sys import json sys.path.append('.') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "planetstack.settings") from django.db.models.fields.related import ForeignKey from core.models import * try: output = sys.args[1] except: output = '-json' g = globals() model_classes = [] class_names = [] for c in g.values(): if type(c)==type(PlCoreBase): model_classes.append(c) class_names.append(c.__name__) if (output=='-dot'): print "digraph plstack {"; for c in model_classes: fields = c._meta.fields for f in fields: if type(f)==ForeignKey and f.name.title() in class_names: print '\t"%s"->"%s";'%(c.__name__,f.name.title()) print "}\n"; elif (output=='-json'): d = {} for c in model_classes: fields = c._meta.fields for f in fields: if type(f)==ForeignKey and f.name.title() in class_names: try: d[c.__name__].append(f.name.title()) except KeyError: d[c.__name__]=[f.name.title()] print json.dumps(d,indent=4)