root/staging/: django-children-models-dependencies-1.1.0 metadata and description
django-models-dependencies provides tools to get the dependencies in a tree of django models
| author | Stephane "TWidi" Angel |
| author_email | s.angel@twidi.com |
| classifiers |
|
| license | BSD |
| File | Tox results | History |
|---|---|---|
django_children_models_dependencies-1.1.0-py2.py3-none-any.whl
|
|
|
django_children_models_dependencies-1.1.0.tar.gz
|
|
Purpose
This is a small app that allow to get the children of a base model, in an dependency order from the model with the less dependencies, to the model with the more dependencies, each model coming after its own dependencies
For example, for theses models:
class BaseModel(models.Model): class Meta: abstract = True class ChildModel1(BaseModel): pass class ChildModel2(BaseModel): link = models.ForeignKey('myapp.ChildModel3', on_delete=models.CASCADE) class ChildModel3(BaseModel): pass
The order will be:
from django_children_models_dependencies.manager import ChildrenDependenciesManager self.assertListEqual(ChildrenDependenciesManager.get_children_dependencies(BaseModel), [ ChildModel1, # first model without dependencies ChildModel3, # dependency of ChildModel2, so it comes before ChildModel2, # last one, which must come after its own dependencies ])
Installation
The django-children-models-dependencies package is only available on the Magency private pypi server.
pip install -i https://login:password@pypi.magency.ninja/some/index django-children-models-dependencies
Developement
The code can be found on the Magency mhr-python-external-modules repository
Install the required packages:
pip install -i https://login:password@pypi.magency.ninja/some/index -r requirements-dev.txt
To run tests, simply launch the runtests.sh script.
And for pylint:
PYTHONPATH="$PYTHONPATH:." pylint django_children_models_dependencies tests
When ready, update the version in django_children_models_dependencies/__init__py then create the package:
./setup.py sdist bdist_wheel
You can now upload it to devpi:
devpi use https://login:password@pypi.magency.ninja devpi login yourlogin devpi use yourlogin/dev devpi upload dist/django_children_models_dependencies-*VERSION*
Support
python>=3.4 django>=1.9