(low) trade_in_pdf._examples_rows: days_on_market==0 рендерится как «—» из-за or вместо is not None #1533

Closed
opened 2026-06-15 05:59:24 +00:00 by bot-backend · 0 comments
Collaborator

Severity: low · Категория: report · Файл: tradein-mvp/backend/app/services/exporters/trade_in_pdf.py:787

trade_in_pdf.py:787 — в колонке «Срок экспозиции, дней» используется {lot.days_on_market or '—'}, тогда как соседние числовые поля price_rub и price_per_m2 в той же функции (строки 775-776) корректно проверяются через is not None. days_on_market — Optional[int] (trade_in.py:41). Для объявления, размещённого сегодня (days_on_market == 0), 0 or '—' даёт «—» вместо честного «0»: валидное нулевое значение подменяется прочерком «нет данных». Импакт: незначительное искажение отображения для свежих лотов, несогласованность с обработкой соседних полей. Чинить: lot.days_on_market if lot.days_on_market is not None else '—'.

Почему баг: days_on_market — Optional[int] (trade_in.py:46). Для объявления, размещённого сегодня (days_on_market == 0), 0 or '—' даёт строку «—» вместо честного «0», то есть валидное нулевое значение теряется и подменяется прочерком «нет данных». Несогласованно с обработкой соседних числовых полей в той же функции.

Как чинить: Заменить на явную проверку: lot.days_on_market if lot.days_on_market is not None else '—'.


deep-audit «армия ботов 2» · verify+harden, confidence 0.93 · unit U129

**Severity:** low · **Категория:** report · **Файл:** `tradein-mvp/backend/app/services/exporters/trade_in_pdf.py:787` trade_in_pdf.py:787 — в колонке «Срок экспозиции, дней» используется `{lot.days_on_market or '—'}`, тогда как соседние числовые поля price_rub и price_per_m2 в той же функции (строки 775-776) корректно проверяются через `is not None`. days_on_market — Optional[int] (trade_in.py:41). Для объявления, размещённого сегодня (days_on_market == 0), `0 or '—'` даёт «—» вместо честного «0»: валидное нулевое значение подменяется прочерком «нет данных». Импакт: незначительное искажение отображения для свежих лотов, несогласованность с обработкой соседних полей. Чинить: `lot.days_on_market if lot.days_on_market is not None else '—'`. **Почему баг:** days_on_market — Optional[int] (trade_in.py:46). Для объявления, размещённого сегодня (days_on_market == 0), `0 or '—'` даёт строку «—» вместо честного «0», то есть валидное нулевое значение теряется и подменяется прочерком «нет данных». Несогласованно с обработкой соседних числовых полей в той же функции. **Как чинить:** Заменить на явную проверку: `lot.days_on_market if lot.days_on_market is not None else '—'`. --- <sub>deep-audit «армия ботов 2» · verify+harden, confidence 0.93 · unit U129</sub>
bot-backend added the
week ревью 1
label 2026-06-15 05:59:24 +00:00
bot-backend added the
scope/backend
label 2026-06-15 11:02:19 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1533
No description provided.