Explicit-Django
Набор компонентов для интеграции Explicit с Django.
Базовая единица работы на транзакциях Django ORM.
# persons/core/unit_of_work.py
from explicit.django.unit_of_work import BaseUnitOfWork
from persons.core.persons.adapters.db import Repository as PersonsRepository
from persons.core.persons.adapters.db import repository as persons_repository
# (имя атрибута, инстанс репо)
KNOWN_REPOS = (
('persons', persons_repository),
)
class UnitOfWork(BaseUnitOfWork):
persons: PersonsRepository
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._registry.register(*KNOWN_REPOS)
Декоратор для преобразования ошибок валидации предметной области в ошибки валидации Django
from explicit.django.domain.validation.exceptions import handle_domain_validation_error
class ViewSet(...):
@handle_domain_validation_error
def create(self, request, *args, **kwargs):
command = Command(...)
bus.handle(command)
Запуск тестов
$ tox
e30984f (EDUEO-552 Вынос интеграции с django в отдельный пакет.)
Metadata
Release files for explicit-django 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| explicit-django-1.0.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| explicit_django-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.3 kB
Release files / explicit-django-1.0.0.tar.gz
| Download URL | explicit-django-1.0.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d352450353f761592be09849d1272826c4c22fd54a5b7c3dc1844d3a5b01c7d0
|
|
BLAKE2b-256 checksum How to use checksums |
93bb06b4b4d8221e60c96f59c8b21c93081a424e461c600e42f6b4ca549afddd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.7
|
Release files / explicit_django-1.0.0-py3-none-any.whl
| Download URL | explicit_django-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f1cd9c73f711b363bf1ddb30decb237fd44947921f5e2923100843e3956096f
|
|
BLAKE2b-256 checksum How to use checksums |
615ac2c281de79352833ae05fb6b6d0dafc85f74693ded0c327d1e7417dbb394
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.9.6 readme-renderer/42.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.5 tqdm/4.66.1 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.9.7
|