Skip to content

bug: Language não populada no setup inicial causa falha silenciosa em task_fetch_and_create_journal #996

Description

@Rossi-Luciano

Problema

O método Journal.add_mission() chama Language.get(code2=lang_code), que lança DoesNotExist se a linguagem não existir no banco:

collection.models.Language.DoesNotExist: Language matching query does not exist.

Não há nenhuma etapa no fluxo de setup (task_start, task_setup, documentação) que popule os objetos Language. Em um banco novo, todos os periódicos que possuem missão falham silenciosamente nesse ponto.

Arquivo afetado: journal/models.py:456

# atual — lança DoesNotExist se a linguagem não existir
language=Language.get(code2=lang_code),

# alternativa — criar se não existir
language=Language.get_or_create(code2=lang_code, user=user),

Impacto

  • Afeta as branches rc e main
  • Em qualquer banco novo, a missão (resumo) dos periódicos não é importada
  • O erro é logado como ERROR mas não interrompe a task — passa despercebido

Solução sugerida

Uma das alternativas:

  1. Substituir Language.get() por Language.get_or_create() em add_mission()
  2. Incluir a criação das linguagens básicas (pt, en, es, etc.) como etapa de task_start ou task_setup

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions