-
Notifications
You must be signed in to change notification settings - Fork 9
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
Disponibiliza o campo doi_prefix na API Journal #830
Disponibiliza o campo doi_prefix na API Journal #830
Conversation
@robertatakenaka, Eu adiciono um filtro pelo campo doi_prefix para retornar todos os periódicos que possuem um valor para doi_prefix? |
…estão registrados.
article/api/v1/views.py
Outdated
def get_queryset(self): | ||
queryset = models.Article.objects.all() | ||
doi_prefix = self.request.query_params.get('doi_prefix', None) | ||
if doi_prefix is not None: | ||
queryset = queryset.filter(journal__doi_prefix=doi_prefix) | ||
return queryset |
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.
@samuelveigarangel qual é o propósito?
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.
Filtar os artigos pelo o prefixo do doi. Não há necessidade?
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.
@samuelveigarangel ok, mas não acho que há este caso de uso... mas se houver a consulta é diretamente no Article, não seria necessário o filter ser pelo journal, está esquisito. Que tal:
def get_queryset(self):
doi_prefix = self.request.query_params.get('doi_prefix', None)
if doi_prefix is not None:
return models.Article.objects.filter(doi__value__startswith=doi_prefix)
return models.Article.objects.all()
O tamanho 50 para o prefixo está muito grande. O tamanho total indicado para o DOI está como 100.
Consulte: https://www.crossref.org/documentation/member-setup/constructing-your-dois/
journal/models.py
Outdated
@@ -570,6 +570,7 @@ class Journal(CommonControlField, ClusterableModel): | |||
blank=True, | |||
verbose_name=_("DigitalPreservationAgency"), | |||
) | |||
doi_prefix = models.CharField(max_length=50, blank=True, null=True) |
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.
@samuelveigarangel
O tamanho 50 para o prefixo está muito grande. O tamanho total indicado para o DOI está como 100.
Consulte: https://www.crossref.org/documentation/member-setup/constructing-your-dois/
@@ -13,6 +13,6 @@ class Migration(migrations.Migration): | |||
migrations.AddField( | |||
model_name="journal", | |||
name="doi_prefix", | |||
field=models.CharField(blank=True, max_length=50, null=True), | |||
field=models.CharField(blank=True, max_length=100, null=True), |
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.
@samuelveigarangel O meu comentário anterior diz que 50 para doi_prefix é muito, então 100, é demais. Tinha adicionado a documentação. Segue a imagem. Sugiro no máximo 20 e no mínimo 15
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.
Entendi seu comentário de forma errada e pensei que era para aumentar o tamanho. Pesquisei sobre o limite do tamanho do DOI e a única fonte que encontrei relacionada a isso foi: https://www.doi.org/resources/DOI_article_ELIS3.pdf. Na seção 'syntax', é informado que não há um limite definido para o tamanho do DOI, prefixo ou sufixo.
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.
@samuelveigarangel Realizar correções
O que esse PR faz?
Disponibiliza o campo doi_prefix na API Journal
Onde a revisão poderia começar?
pelos commits
Como este poderia ser testado manualmente?
Acessa: http://0.0.0.0:8009/api/v1/journal/
Algum cenário de contexto que queira dar?
N/A
Screenshots
N/A
Quais são tickets relevantes?
#829
Referências
N/A