-
Notifications
You must be signed in to change notification settings - Fork 10
Aprimorar nomes dos relacionamentos de Journal representados por InlinePanel #1313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aprimorar nomes dos relacionamentos de Journal representados por InlinePanel #1313
Conversation
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
| FieldPanel("submission_online_url"), | ||
| FieldPanel("main_collection"), | ||
| InlinePanel("journalsocialnetwork", label=_("Social Network")), | ||
| InlinePanel("social_networks", label=_("Social Network")), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot crie os arquivos das migrações
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arquivo de migração criado em commit e33a7f2. O arquivo 0058_rename_journal_inline_panel_related_names.py documenta as alterações dos related_name para os 6 modelos (JournalSocialNetwork, Annotation, AcceptedDocumentTypes, FileOpenScience, Ecommittee, Review).
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
| brief_history = journal.history.get_object_in_preferred_language(language=language) | ||
| focus_and_scope = journal.focus.get_object_in_preferred_language(language=language) | ||
| social_network = journal.journalsocialnetwork.all() | ||
| social_network = journal.social_networks.all() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot journalpage tem migração para serem criadas?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Não, journalpage não precisa de migration. As mudanças em journalpage/models.py são apenas código (chamadas aos novos related_names do Journal) e não alterações de campos do modelo JournalPage. O modelo JournalPage herda apenas de Page e RoutablePageMixin sem definir campos próprios.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Este PR renomeia related_name de relacionamentos ParentalKey do modelo Journal para reduzir ambiguidade e padronizar nomenclatura, atualizando os pontos de uso (Wagtail panels, hooks, formatação e journalpage) e adicionando uma migration para registrar a mudança no estado do Django.
Changes:
- Renomeia 6
related_nameem modelos do appjournale atualiza usos emInlinePanel, queryset prefetch e formatter. - Atualiza o
journalpage(model + template) para usaraccepted_document_typese os novos related names. - Adiciona migration
0058comAlterFieldpara refletir as mudanças no estado das migrations.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
journal/models.py |
Atualiza related_name nos ParentalKey e ajusta referências de InlinePanel no próprio app journal. |
journal/proxys.py |
Atualiza os InlinePanel(...) para apontarem para os novos related_name. |
journal/wagtail_hooks.py |
Atualiza prefetch_related(...)/strings de relações para os novos nomes. |
journal/formats/articlemeta_format.py |
Atualiza acesso reverso de annotation para notes ao montar metadados. |
journal/migrations/0058_rename_journal_inline_panel_related_names.py |
Registra as alterações de related_name via AlterField no estado das migrations. |
journalpage/models.py |
Atualiza o acesso aos relacionamentos renomeados e a chave de contexto accepted_document_types. |
journalpage/templates/journalpage/about.html |
Atualiza a variável iterada para accepted_document_types. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| brief_history = journal.history.get_object_in_preferred_language(language=language) | ||
| focus_and_scope = journal.focus.get_object_in_preferred_language(language=language) | ||
| social_network = journal.journalsocialnetwork.all() | ||
| social_network = journal.social_networks.all() |
Copilot
AI
Feb 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
social_network recebe um queryset/lista (journal.social_networks.all()), mas o nome da variável/contexto está no singular e agora diverge do related_name (social_networks). Para evitar ambiguidade e facilitar manutenção, considere renomear para social_networks (incluindo a chave no context e o uso no template).
| social_network = journal.social_networks.all() | |
| social_networks = journal.social_networks.all() |
| review = journal.review.get_object_in_preferred_language(language=language) | ||
| ecommittee = journal.ecommittee.get_object_in_preferred_language(language=language) | ||
| review = journal.peer_review.get_object_in_preferred_language(language=language) | ||
| ecommittee = journal.ethics_committee.get_object_in_preferred_language(language=language) |
Copilot
AI
Feb 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A variável local ecommittee continua usando o nome legado, mas agora aponta para journal.ethics_committee.... Para manter consistência e reduzir confusão, renomeie a variável (e a chave no context, se aplicável) para ethics_committee.
O que esse PR faz?
Renomeia
related_namede seis relacionamentos ParentalKey do modelo Journal para eliminar ambiguidade e melhorar consistência com convenções Python.Mudanças:
journalsocialnetwork→social_networks(convenção snake_case, plural)annotation→notes(alinhado com label do InlinePanel)accepted_documment_types→accepted_document_types(correção de typo)file_oa→open_science_form_files(descritivo)ecommittee→ethics_committee(abreviação expandida)review→peer_review(desambiguação)Impacto técnico:
0058_rename_journal_inline_panel_related_names.pypara documentar as alterações no DjangoOnde a revisão poderia começar?
journal/models.pynas linhas dos ParentalKey alterados (1377, 1587, 1672, 1686, 1864, 2747), seguido porjournal/proxys.pypara validar consistência dos InlinePanel, e finalmentejournal/migrations/0058_rename_journal_inline_panel_related_names.pypara verificar a migration.Como este poderia ser testado manualmente?
make buildmake django_migrate/journal/{acron}/about/)Algum cenário de contexto que queira dar?
Os
related_nameoriginais eram legado sem padrão definido - alguns camelCase, outros com abreviações, um com typo. A refatoração segue o princípio de que nomes devem refletir ohelp_textdo modelo e a label do InlinePanel onde aplicável. Emborarelated_nameseja metadata do ORM e não altere o schema do banco, uma migration foi criada para documentar as mudanças e manter consistência no sistema de migrations do Django. As alterações no app journalpage são apenas atualizações de código para usar os novos related_names, sem necessidade de migration própria pois o JournalPage não define campos customizados.Screenshots
N/A - mudanças internas de nomenclatura sem impacto visual.
Quais são tickets relevantes?
Issue original: "Aprimorar o nomes dos relacionamentos de Journal representados por InlinePanel"
Referências
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.