Admin: Inlines

1 view
Skip to first unread message

Fred Chevitarese

unread,
Nov 10, 2009, 8:12:27 AM11/10/09
to django...@googlegroups.com
Bom dia!!!

Tenho o seguinte cenário no models.py.

class ResultadoAnalise(models.Model, LocalModel):
    NumeroGuia = models.CharField(u'N° da guia', max_length=20)
    Ponto = models.CharField(u'Local do atendimento', max_length=5)
    Data = models.DateField(u'Data da execução da guia')
    Beneficiario = models.CharField(u'Beneficiário', max_length=20)
    PrestadorSolicitante = models.CharField(u'Prestador solicitante', max_length=8)
    PrestadorExecutante = models.CharField(u'Prestador executante', max_length=8)

    
class ResultadoAnaliseProcedimentos(models.Model, LocalModel):
    Resultado = models.ForeignKey(ResultadoAnalise)
    Codigo = models.CharField(u'Código do procedimento', max_length=10)
    Tabela = models.IntegerField(u'Tabela', choices = TIPO_TABELA)
    Descricao = models.CharField(u'Descrição', max_length=100)
    QuantidadeSolicitada = models.IntegerField(u'Quant. solicitada')
    QuantidadeExecutada = models.IntegerField(u'Quant. realizada')
    ResultadoValor = models.CharField(u'Valor', max_length=20)
    ResultadoLaudo = models.CharField(u'Laudo', max_length=255)
 
class ResultadoAnaliseProcedimentosComponentes(models.Model, LocalModel):
    ResultadoProcedimento = models.ForeignKey(ResultadoAnaliseProcedimentos)
    CodigoComponente = models.IntegerField()
    GrupoComponente = models.CharField(max_length = 50)
    DescricaoComponente = models.CharField(max_length = 100)
    ResultadoValor = models.CharField(max_length = 255)
    ResultadoUnidade = models.CharField(max_length = 30)


No admin, preciso exibir os registros de ResultadoAnalise.
Quando clicar nele, exibir com o StackedInline,  os dados de ResultadoAnalisProcedimentos e também de ResultadoAnaliseProcedimentosComponentes.
Estou continuando um código e qualquer mudança para melhorar é bem vinda.

Alguma dica para fazer isto funcionar no admin?
Desde já obrigado.

 

http://chevitarese.wordpress.com
Fred Chevitarese - GNU/Linux

erico

unread,
Nov 10, 2009, 1:00:48 PM11/10/09
to Django Brasil
Não seria algo assim no admin?

class InlineResultadoAnalise(StackedInline):
___model = ResultadoAnalise


Class AdminresultadoAnalise(admin.ModelAdmin):
___list_display = ('',)
___...
___inlines = [InlineResultadoAnalise,]

Desculpe se não funcionar não tenho absoluta certeza, vi e achei que
posso ou pudesse ajudar, uso tanto a lista
que sinto-me na obrigação de pelo menos "tentar" ajudar.



On 10 nov, 11:12, Fred Chevitarese <fchevitar...@gmail.com> wrote:
> Bom dia!!!
>
> Tenho o seguinte cenário no models.py.
>
> *class ResultadoAnalise(models.Model, LocalModel):
>     NumeroGuia = models.CharField(u'N° da guia', max_length=20)
>     Ponto = models.CharField(u'Local do atendimento', max_length=5)
>     Data = models.DateField(u'Data da execução da guia')
>     Beneficiario = models.CharField(u'Beneficiário', max_length=20)
>     PrestadorSolicitante = models.CharField(u'Prestador solicitante',
> max_length=8)
>     PrestadorExecutante = models.CharField(u'Prestador executante',
> max_length=8)
>
> class ResultadoAnaliseProcedimentos(models.Model, LocalModel):
>     Resultado = models.ForeignKey(ResultadoAnalise)
>     Codigo = models.CharField(u'Código do procedimento', max_length=10)
>     Tabela = models.IntegerField(u'Tabela', choices = TIPO_TABELA)
>     Descricao = models.CharField(u'Descrição', max_length=100)
>     QuantidadeSolicitada = models.IntegerField(u'Quant. solicitada')
>     QuantidadeExecutada = models.IntegerField(u'Quant. realizada')
>     ResultadoValor = models.CharField(u'Valor', max_length=20)
>     ResultadoLaudo = models.CharField(u'Laudo', max_length=255)
>
> class ResultadoAnaliseProcedimentosComponentes(models.Model, LocalModel):
>     ResultadoProcedimento = models.ForeignKey(ResultadoAnaliseProcedimentos)
>
>     CodigoComponente = models.IntegerField()
>     GrupoComponente = models.CharField(max_length = 50)
>     DescricaoComponente = models.CharField(max_length = 100)
>     ResultadoValor = models.CharField(max_length = 255)
>     ResultadoUnidade = models.CharField(max_length = 30) *

Fred Chevitarese

unread,
Nov 10, 2009, 1:26:29 PM11/10/09
to django...@googlegroups.com
É mais ou menos o que quero com um porém.
Só que eu preciso de inlines "aninhados" ... Mas encontrei algumas coisas aqui... Parece que não é possível...

Mais ou menos assim...
Modelo A, B e C

C-> B -> A

C tem um foreign key de B, que tem um foreign key de A .

Preciso que o inlines mostre também o C, e eu só consigo que mostre o B...
Não sei se fui claro.. rsrs

Abraços!


http://chevitarese.wordpress.com
Fred Chevitarese - GNU/Linux


2009/11/10 erico <eric...@gmail.com>

Igor Sobreira

unread,
Nov 10, 2009, 8:42:28 PM11/10/09
to django...@googlegroups.com


2009/11/10 Fred Chevitarese <fchevi...@gmail.com>

É mais ou menos o que quero com um porém.
Só que eu preciso de inlines "aninhados" ... Mas encontrei algumas coisas aqui... Parece que não é possível...

Mais ou menos assim...
Modelo A, B e C

C-> B -> A

C tem um foreign key de B, que tem um foreign key de A .

Preciso que o inlines mostre também o C, e eu só consigo que mostre o B...
Não sei se fui claro.. rsrs


Até onde eu sei, não existe suporte a inlines aninhados....

-- Igor Sobreira


Fred Chevitarese

unread,
Nov 11, 2009, 5:50:47 AM11/11/09
to django...@googlegroups.com
É... Infelizmente encontrei alguns tickets já abertos com esta solicitação.
Mas também, infelizmente, parece que os devs não vão fazer não ...

Tá bom né! A gente da outro jeito ;)

Obrigado pelas respostas!!!


http://chevitarese.wordpress.com
Fred Chevitarese - GNU/Linux


2009/11/10 Igor Sobreira <ig...@igorsobreira.com>
Reply all
Reply to author
Forward
0 new messages