Раздел 7 · Справочник
DQ Checks — механизм проверок качества
Как устроены проверки качества (DQLA): описание в DG, привязка к форме в Form Builder, исполнение в Task Manager при согласовании отчёта.
Связка трёх уровней: описание проверок в DG → привязка к форме в Form Builder → исполнение в Task Manager при согласовании отчёта.
7.1 · Описание (в Data Governance)
- Класс
DQ_CHECK— отдельная проверка (описание). - Класс
DQLA— набор/сборка проверок (контейнер), группируетDQ_CHECKи/или термины. Метаданные, без исполняемой логики в DG.
7.2 · Привязка (в Form Builder)
В конструкторе шаблона можно добавить DQLA к форме (блок «DQLA для отчётности»). Выбранные наборы сохраняются в report_template.settings.dqla_ids — это определяет, какие термины формы подлежат проверке.
7.3 · Исполнение (в Task Manager)
Реальная проверка — метод evaluate_submission_quality(submission_id) в task_manager_service.py:
- Берутся активные правила
term_quality_rule(is_active=true), сгруппированные поterm_id. - Через
_allowed_term_ids_by_template_dqlaизsettings.dqla_idsшаблона резолвится множество допустимыхterm_id. Если DQLA не заданы — правила применяются ко всем терминам. - Для каждого значения применяется
_apply_quality_rule→SubmissionQualityCheck {passed, message, rule_type}. Табличные поля —_evaluate_table_term_quality_checks.
Типы правил
Тип (rule_type) | Параметры | Логика |
|---|---|---|
required | — | значение не пустое (None / пустая строка / пустой список → провал) |
regex | pattern | re.fullmatch(pattern, str(value)); пустое значение → провал |
number_range | min и/или max | значение приводится к числу и сравнивается с границами |
Валидация правил — _validate_rule_payload (regex компилируется, у number_range проверяется min ≤ max).
Где видно
- На согласовании отчёта (
/dq/submissions/{id}/checks) — индикатор зелёный / жёлтый / красный в очереди «Согласование отчётности». - Управление правилами — страница «Проверки качества» (
DataQualityRulesPage): CRUD + отчёт об использовании (/dq/term-rules/usage).
Итог. «DQ checks» реализованы как term-level правила (required/regex/number_range) в Task Manager, сгруппированные через DQLA-наборы из DG и привязанные к форме.