-
Notifications
You must be signed in to change notification settings - Fork 1
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
feat: datetime_range.unit #627
Conversation
@@ -1747,6 +1756,10 @@ class DateTimeRange(BaseModel): | |||
end_minute = models.IntegerField(blank=True, null=True) | |||
end_second = models.IntegerField(blank=True, null=True) | |||
interval = models.IntegerField(blank=True, null=True) | |||
unit = models.ForeignKey( |
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.
@jhonylucas74 sabe como colocar um filtro aqui para só aparecer opções de colunas que estejam na tabela (ligada através de table.coverage.datetime_range
)? Agora fica pesado esse campo no Django Admin.
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 tem um jeito fácil nesse caso devido a complexidade das relações do modelo. Uma coisa que daria pra fazer é, se column possuir algum valor, categoria, tipo que vc queria filtrar é fácil de fazer usando o limit_choices_to. Mas se precisar verificar as relações entres as instâncias para trazer com base nas relações é mais complicado. Vai ser necessário um custom form no admin do django.
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.
Posso tentar ver isso amanhã, testar aqui e se eu tiver sucesso eu mando eu mando as alteraçõ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.
@jhonylucas74 acho que isso foi aplicado no campo de observation level que está no formulário de coluna do django se precisar ed uma referência. ele só puxa as opções de observation level que estão na mesma tabela
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.
Aqui:
backend/backend/apps/api/v1/admin.py
Line 109 in 00db381
def formfield_for_foreignkey(self, db_field, request, **kwargs): |
@rdahis percebi um problema importante com essa implementação que vc sugeriu: Qual que era o problema da implementação que eu tinha sugerido? |
Não é um problema não. Quando tiver múltiplas |
@rdahis Ok entendi, podemos seguir assim. O único "problema" é que equipe dados vai ter que preencher igual nas duas e fica aberto para esquecer ou errar e preencher diferente. Ter que preencher 2 vezes a mesma informação não é uma redundância no nosso modelo? Pra lidar com o problema que eu coloquei ali eu incluo no código uma verificação se caso tiver 2 coberturas, se elas estão ambas preenchidas e se estão iguais. |
É uma certa redundância porque acho que nunca teremos uma tabela com duas unidades temporais diferentes (ex: parte com Se for crítico para a feature de tradução de tabelas, vamos aprovar logo e adicionar a validação depois? @laura-l-amaral |
@rdahis não é crítico não pra tradução, é pra gente melhorar o sistema de atualização de metadados só. Ficar mais automático e reduzir os casos que os metadados ficam diferentes dos dados |
Adicionei a validação. Testei local via backend do Django e ele apresenta uma barra de erro quando eu tento adicionar uma segunda De qualquer jeito, seria bom @laura-l-amaral e @jhonylucas74 testarem local antes de aprovar. |
Ainda está aberta essa questão de exibir o erro corretamente no Django. Mas vou dar merge para começarmos a preencher. |
Parece que o deploy não foi. Sabe onde vejo os logs? @jhonylucas74 @gabriel-milan |
Iterando o #621.
datetime_rande.unit
como FK paracolumn
.datetime_rande.unit
, exibir só colunas da mesma tabela.table.datetime_range_unit
.