Skip to main content

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)

Source distribution for explicit-django 1.0.0
File Size Uploaded
explicit-django-1.0.0.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for explicit-django 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page