(todo: gentle introduction)
(todo: add information about use case)
features
collecting information about dependencies of models (model -> parent)
collecting information about reverse dependencies of models (model -> [children])
listing model with dependencies-considered order.
(dependencies-considered order means, when i < j, models[i] doesn’t depends on models[j])
how to use
from django_mindscape import ModelMapProvider, Walker, Brain
from django.apps import apps
walker = Walker(apps.get_models(), brain=Brain())
p = ModelMapProvider(walker)
"""
when ParentModel : YourModel = 1 : N
and OtherModel is existed.
"""
# model dependencies (bottom up)
for relation in p.dependencies[YourModel].dependencies:
print(relation.from_.model) # <YourModel>
print(relation.to.model) # <ParentModel>
print(relation.type) # relation type (candidates: 11, 1M, MM)
# reverse dependencies (top down)
for rnode in p.reverse_dependencies[ParentModel].dependencies:
print(rnode.node.model) # <YourModel>
# clustered model list
for cluster in p.cluster_models: # [[ParentModel, YourModel], [OtherModel]]
for model in cluster:
print(model)
# ordered model list
for model in p.ordered_models: # [ParentModel, YourModel, OtherModel]
print(model)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-mindscape-0.3.0.tar.gz.
File metadata
- Download URL: django-mindscape-0.3.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d9606e91db131c53efbe0bf13b91d0debdfcde447f26ae484a1ed3d40c46f4b
|
|
| MD5 |
4912982418af949d849cb330f5d6c405
|
|
| BLAKE2b-256 |
5d74abe1a5716922feaab61d59d592c6cfe011c3bdebfcb2cf4abac3b3d69d5a
|