Skip to content

Instantly share code, notes, and snippets.

@drozdowsky
Created December 18, 2019 10:53
Show Gist options
  • Save drozdowsky/19c159425ba6b56fb6eac7328f34250f to your computer and use it in GitHub Desktop.
Save drozdowsky/19c159425ba6b56fb6eac7328f34250f to your computer and use it in GitHub Desktop.
import django.apps
def related_info(field):
if field.related_model is None:
return ''
start = '===========>'
if field.__class__.__name__ == 'ManyToOneRel':
start = '<==========='
return '{}\t{}'.format(start, field.related_model)
def main():
with open('django_models.txt', 'w') as f:
for model in django.apps.apps.get_models(include_auto_created=True):
f.write("'{}'".format(model.__name__))
f.write('\n')
f.write(str(model))
f.write('\n')
for field in model._meta.get_fields():
f.write('\t')
f.write(field.name.ljust(40))
f.write(field.__class__.__name__.ljust(25))
f.write(related_info(field))
f.write('\n')
f.write('\n'.rjust(155, '='))
f.write('\n')
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment